OpenShift дээрх орчин үеийн програмууд, 3-р хэсэг: OpenShift нь хөгжүүлэлтийн орчин ба OpenShift Pipelines

Энэ блог дээрх бүх хүмүүст энэ өдрийн мэндийг хүргэе! Энэ бол Red Hat OpenShift дээр орчин үеийн вэб програмуудыг хэрхэн ашиглахыг харуулсан цувралын гурав дахь нийтлэл юм.

OpenShift дээрх орчин үеийн програмууд, 3-р хэсэг: OpenShift нь хөгжүүлэлтийн орчин ба OpenShift Pipelines

Өмнөх хоёр нийтлэлд бид орчин үеийн вэб програмуудыг хэдхэн алхамаар хэрхэн ашиглах, шинэ S2I дүрсийг NGINX гэх мэт бэлэн HTTP серверийн дүрстэй хамт үйлдвэрлэлийн байршуулалтыг зохион байгуулахад гинжлэгдсэн бүтэц ашиглан хэрхэн ашиглахыг харуулсан. .

Өнөөдөр бид OpenShift платформ дээр өөрийн програмын хөгжүүлэлтийн серверийг хэрхэн ажиллуулж, локал файлын системтэй синхрончлохыг харуулахаас гадна OpenShift Pipelines гэж юу болох, тэдгээрийг холбосон угсралтын өөр хувилбар болгон хэрхэн ашиглах талаар ярих болно.

OpenShift нь хөгжүүлэлтийн орчин юм

Хөгжлийн ажлын урсгал

Өмнө дурьдсанчлан анхны бичлэг, орчин үеийн вэб програмуудын ердийн хөгжүүлэлтийн процесс нь локал файлын өөрчлөлтийг хянадаг "хөгжлийн сервер" юм. Эдгээр нь тохиолдоход програмын бүтцийг эхлүүлж, дараа нь хөтөч рүү шинэчлэгддэг.

Ихэнх орчин үеийн хүрээнүүдэд ийм "хөгжлийн сервер" нь холбогдох командын мөрийн хэрэгслүүдэд суурилагдсан байдаг.

Орон нутгийн жишээ

Эхлээд програмуудыг орон нутагт ажиллуулах үед энэ нь хэрхэн ажилладагийг харцгаая. Програмыг жишээ болгон авч үзье урвалд Өмнөх нийтлэлүүдээс харахад бараг ижил ажлын урсгалын үзэл баримтлал бусад бүх орчин үеийн хүрээнүүдэд хамаатай.
Тиймээс, бидний React жишээн дээр "dev server"-ийг эхлүүлэхийн тулд бид дараах тушаалыг оруулна.

$ npm run start

Дараа нь терминалын цонхонд бид иймэрхүү зүйлийг харах болно:

OpenShift дээрх орчин үеийн програмууд, 3-р хэсэг: OpenShift нь хөгжүүлэлтийн орчин ба OpenShift Pipelines

Манай програм анхдагч хөтөч дээр нээгдэнэ:

OpenShift дээрх орчин үеийн програмууд, 3-р хэсэг: OpenShift нь хөгжүүлэлтийн орчин ба OpenShift Pipelines

Одоо, хэрэв бид файлд өөрчлөлт хийвэл програм хөтөч дээр шинэчлэгдэх ёстой.

За, орон нутгийн горимд хөгжүүлснээр бүх зүйл тодорхой байна, гэхдээ OpenShift дээр хэрхэн яаж хүрэх вэ?

OpenShift дээрх хөгжүүлэлтийн сервер

Хэрэв та санаж байвал in өмнөх нийтлэл, бид S2I зургийн ажиллах үе гэж нэрлэгддэг үеийг хараад, анхдагчаар серверийн модуль нь манай вэб програмд ​​үйлчлэх үүрэгтэй болохыг олж харсан.

Гэсэн хэдий ч, хэрэв та анхааралтай ажиглавал скрипт ажиллуулах тэр жишээнээс харахад энэ нь $NPM_RUN орчны хувьсагчийг агуулж байгаа бөгөөд энэ нь танд тушаалаа гүйцэтгэх боломжийг олгоно.

Жишээлбэл, бид nodeshift модулийг ашиглан програмаа байрлуулах боломжтой.

$ npx nodeshift --deploy.env NPM_RUN="yarn start" --dockerImage=nodeshift/ubi8-s2i-web-app

Жич: Дээрх жишээг ерөнхий санааг илэрхийлэхийн тулд товчилсон болно.

Энд бид NPM_RUN орчны хувьсагчийг байршуулалтдаа нэмсэн бөгөөд энэ нь бидний OpenShift pod доторх React хөгжүүлэлтийн серверийг эхлүүлдэг yarn start командыг ажиллуулах хугацааг зааж өгдөг.

Хэрэв та ажиллаж байгаа подын бүртгэлийг харвал энэ нь дараах байдалтай харагдана.

OpenShift дээрх орчин үеийн програмууд, 3-р хэсэг: OpenShift нь хөгжүүлэлтийн орчин ба OpenShift Pipelines

Мэдээжийн хэрэг, бид локал кодыг кодтой синхрончлох хүртэл энэ бүхэн юу ч биш байх бөгөөд энэ нь өөрчлөлтийг хянаж байдаг боловч алсын сервер дээр амьдардаг.

Алсын болон дотоод кодыг синхрончлох

Аз болоход nodeshift нь синхрончлолд хялбархан туслах бөгөөд та өөрчлөлтийг хянахын тулд watch командыг ашиглаж болно.

Тиймээс бид програмынхаа хөгжүүлэлтийн серверийг байршуулах командыг ажиллуулсны дараа бид дараах тушаалыг аюулгүй ашиглаж болно.

$ npx nodeshift watch

Үүний үр дүнд бидний бага зэрэг эрт үүсгэсэн ажиллаж байгаа pod-д холболт хийгдэж, манай дотоод файлуудыг алсын кластертай синхрончлох ажиллагаа идэвхжиж, манай локал систем дээрх файлууд өөрчлөгдсөн эсэхийг хянаж эхэлнэ.

Тиймээс, хэрэв бид одоо src/App.js файлыг шинэчлэх юм бол систем эдгээр өөрчлөлтүүдэд хариу үйлдэл үзүүлж, алсын кластерт хуулж, хөгжүүлэлтийн серверийг эхлүүлэх бөгөөд энэ нь бидний хөтөч дээрх програмыг шинэчлэх болно.

Зургийг дуусгахын тулд эдгээр бүх тушаалууд хэрхэн харагдахыг харуулъя:

$ npx nodeshift --strictSSL=false --dockerImage=nodeshift/ubi8-s2i-web-app --build.env YARN_ENABLED=true --expose --deploy.env NPM_RUN="yarn start" --deploy.port 3000

$ npx nodeshift watch --strictSSL=false

Watch команд нь oc rsync командын дээд талд байгаа хийсвэрлэл бөгөөд та хэрхэн ажилладаг талаар илүү ихийг мэдэх боломжтой. энд.

Энэ нь React-ийн жишээ байсан, гэхдээ яг ижил аргыг бусад фреймворкуудад ашиглаж болно, шаардлагатай бол NPM_RUN орчны хувьсагчийг тохируулахад л хангалттай.

Нээлттэй дамжуулах хоолой

OpenShift дээрх орчин үеийн програмууд, 3-р хэсэг: OpenShift нь хөгжүүлэлтийн орчин ба OpenShift Pipelines

Дараа нь бид OpenShift Pipelines гэх мэт хэрэгсэл болон түүнийг гинжин хэлхээний өөр хувилбар болгон хэрхэн ашиглах талаар ярилцах болно.

OpenShift дамжуулах хоолой гэж юу вэ

OpenShift Pipelines нь Tekton ашиглан дамжуулах хоолойг зохион байгуулахад зориулагдсан үүлэнд суурилсан CI/CD тасралтгүй нэгтгэх, дамжуулах систем юм. Tekton нь Kubernetes-ийн уян хатан нээлттэй эх сурвалжийн CI/CD хүрээ бөгөөд үндсэн давхаргаас хийсвэрлэн янз бүрийн платформ (Кубернетес, сервергүй, виртуал машин гэх мэт) дээр байршуулалтыг автоматжуулах боломжийг олгодог.

Энэ нийтлэлийг ойлгохын тулд Pipelines-ийн талаар бага зэрэг мэдлэгтэй байх шаардлагатай тул эхлээд уншихыг зөвлөж байна албан ёсны сурах бичиг.

Ажлынхаа орчинг бүрдүүлж байна

Энэ өгүүлэлд дурдсан жишээнүүдтэй тоглохын тулд эхлээд ажлын орчноо бэлтгэх хэрэгтэй.

  1. OpenShift 4 кластерыг суулгаж тохируулна уу. Үүний тулд манай жишээнүүд CodeReady Containers (CRD) ашигладаг бөгөөд суулгах зааврыг эндээс олж болно. энд.
  2. Кластер бэлэн болсны дараа та дээр нь дамжуулах хоолойн операторыг суулгах хэрэгтэй. Бүү ай, энэ нь хялбар, суулгах заавар энд.
  3. Татаж авах Tekton CLI (tkn) энд.
  4. Create-react-app командын мөрийн хэрэгслийг ажиллуулж, дараа нь ашиглах програмаа үүсгэнэ үү (энэ нь энгийн програм юм. урвалд).
  5. (Заавал биш) Жишээ програмыг npm install, дараа нь npm start-оор локал байдлаар ажиллуулахын тулд репозиторыг клон хийнэ үү.

Програмын агуулах нь мөн k8s хавтастай байх бөгөөд энэ хавтас нь програмыг байрлуулахад хэрэглэгдэх Kubernetes/OpenShift YAML-уудыг агуулна. Үүнд бидний үүсгэх даалгавар, кластерийн даалгавар, нөөц, дамжуулах шугамууд байх болно. агуулахууд.

Эхэлцгээе

Бидний жишээний эхний алхам бол OpenShift кластерт шинэ төсөл үүсгэх явдал юм. Энэ төслийг webapp-pipeline гэж нэрлээд дараах тушаалаар үүсгэцгээе.

$ oc new-project webapp-pipeline

Энэ төслийн нэр дараа нь кодонд гарч ирэх тул хэрэв та өөр нэр өгөхөөр шийдсэн бол жишээ кодыг засварлахаа бүү мартаарай. Энэ цэгээс эхлэн бид дээрээс доошоо биш, харин доороос дээш, өөрөөр хэлбэл бид эхлээд конвейерийн бүх эд ангиудыг бүтээж, дараа нь дамжуулагчийг өөрөө бүтээнэ.

Тэгэхээр хамгийн түрүүнд...

Даалгаврууд

Дараа нь програмыг дамжуулах шугаманд байрлуулахад туслах хэд хэдэн даалгаврыг бий болгоцгооё. Эхний даалгавар - application_manifests_task - манай програмын k8s хавтсанд байгаа Kubernetes нөөцийн (үйлчилгээ, байршуулалт, маршрут) YAML-ийг ашиглах үүрэгтэй. Хоёрдахь ажил – update_deployment_task – аль хэдийн байрлуулсан зургийг манай дамжуулах шугамаар үүсгэсэн зураг болгон шинэчлэх үүрэгтэй.

Хэрэв энэ нь хараахан тодорхой болоогүй бол санаа зовох хэрэггүй. Үнэн хэрэгтээ эдгээр ажлууд нь хэрэгслүүдтэй адил зүйл бөгөөд бид тэдгээрийг дараа нь илүү нарийвчлан авч үзэх болно. Одоохондоо тэдгээрийг үүсгэцгээе:

$ oc create -f https://raw.githubusercontent.com/nodeshift/webapp-pipeline-tutorial/master/tasks/update_deployment_task.yaml
$ oc create -f https://raw.githubusercontent.com/nodeshift/webapp-pipeline-tutorial/master/tasks/apply_manifests_task.yaml

Дараа нь tkn CLI командыг ашиглан бид даалгавруудыг үүсгэсэн эсэхийг шалгах болно.

$ tkn task ls

NAME                AGE
apply-manifests     1 minute ago
update-deployment   1 minute ago

Тайлбар: Эдгээр нь таны одоогийн төслийн орон нутгийн даалгавар юм.

Кластерын даалгавар

Кластер даалгаврууд нь үндсэндээ энгийн ажлуудтай ижил байдаг. Өөрөөр хэлбэл, энэ нь тодорхой ажлыг гүйцэтгэх үед нэг арга замаар хослуулсан, дахин ашиглах боломжтой алхамуудын цуглуулга юм. Үүний ялгаа нь кластерын даалгавар нь кластер доторх хаа сайгүй байдаг. Дамжуулах хоолойн операторыг нэмэх үед автоматаар үүсгэгддэг кластерийн даалгавруудын жагсаалтыг харахын тулд бид tkn CLI командыг дахин ашиглана.

$ tkn clustertask ls

NAME                       AGE
buildah                    1 day ago
buildah-v0-10-0            1 day ago
jib-maven                  1 day ago
kn                         1 day ago
maven                      1 day ago
openshift-client           1 day ago
openshift-client-v0-10-0   1 day ago
s2i                        1 day ago
s2i-go                     1 day ago
s2i-go-v0-10-0             1 day ago
s2i-java-11                1 day ago
s2i-java-11-v0-10-0        1 day ago
s2i-java-8                 1 day ago
s2i-java-8-v0-10-0         1 day ago
s2i-nodejs                 1 day ago
s2i-nodejs-v0-10-0         1 day ago
s2i-perl                   1 day ago
s2i-perl-v0-10-0           1 day ago
s2i-php                    1 day ago
s2i-php-v0-10-0            1 day ago
s2i-python-3               1 day ago
s2i-python-3-v0-10-0       1 day ago
s2i-ruby                   1 day ago
s2i-ruby-v0-10-0           1 day ago
s2i-v0-10-0                1 day ago

Одоо хоёр кластер даалгавар үүсгэцгээе. Эхнийх нь S2I дүрсийг үүсгэж, дотоод OpenShift бүртгэл рүү илгээнэ; хоёр дахь нь NGINX дээр тулгуурлан бидний аль хэдийн контент болгон бүтээсэн программыг ашиглан өөрийн дүр төрхийг бий болгох явдал юм.

Зургийг үүсгэж илгээнэ үү

Эхний даалгаврыг бүтээхдээ бид холбосон угсралтын талаар өмнөх нийтлэлд хийсэн зүйлээ давтах болно. Бид S2I дүрсийг (ubi8-s2i-web-app) ашиглан програмаа "бүтээж", OpenShift дотоод бүртгэлд хадгалагдсан зурагтай болсныг санаарай. Одоо бид энэ S2I вэб програмын дүрсийг ашиглан өөрийн апп-д DockerFile үүсгэх ба дараа нь Buildah-г ашиглан бодит бүтээцийг хийж, үүссэн зургийг OpenShift дотоод бүртгэл рүү түлхэх болно, учир нь та NodeShift ашиглан програмуудаа байршуулах үед OpenShift яг үүнийг хийдэг. .

Энэ бүхнийг бид яаж мэдсэн юм бэ гэж та асууж байна уу? -аас албан ёсны Node.js-ийн албан ёсны хувилбар, бид зүгээр л хуулж аваад өөрсдөдөө зориулж өөрчилсөн.

Тэгэхээр одоо s2i-web-app кластерын даалгаврыг үүсгэцгээе:

$ oc create -f https://raw.githubusercontent.com/nodeshift/webapp-pipeline-tutorial/master/clustertasks/s2i-web-app-task.yaml

Бид үүнийг нарийвчлан шинжлэхгүй, зөвхөн OUTPUT_DIR параметр дээр анхаарлаа хандуулах болно:

params:
      - name: OUTPUT_DIR
        description: The location of the build output directory
        default: build

Анхдагч байдлаар, энэ параметр нь бүтээхтэй тэнцүү бөгөөд React угсарсан контентыг байрлуулдаг. Бусад фреймворкууд өөр өөр замыг ашигладаг, жишээлбэл, Ember-д энэ нь dist байна. Бидний эхний кластерын ажлын үр дүн нь бидний цуглуулсан HTML, JavaScript, CSS агуулсан зураг байх болно.

NGINX дээр суурилсан зураг бүтээх

Хоёрдахь кластерын даалгаврын хувьд энэ нь бидний аль хэдийн бүтээсэн програмын агуулгыг ашиглан NGINX-д суурилсан дүрсийг бүтээх ёстой. Үндсэндээ энэ бол бид гинжлэгдсэн бүтээн байгуулалтыг үзсэн өмнөх хэсгийн хэсэг юм.

Үүнийг хийхийн тулд бид яг дээр дурдсантай адил кластер даалгавар webapp-build-runtime үүсгэх болно:

$ oc create -f https://raw.githubusercontent.com/nodeshift/webapp-pipeline-tutorial/master/clustertasks/webapp-build-runtime-task.yaml

Хэрэв та эдгээр кластерын даалгавруудын кодыг харвал бидний ажиллаж байгаа Git репозитор болон бидний үүсгэж буй зургийн нэрийг заагаагүй болохыг харж болно. Бид Git рүү яг юу шилжүүлж байгаагаа эсвэл эцсийн дүрс гарах ёстой тодорхой зургийг л зааж өгдөг. Ийм учраас эдгээр кластерийн даалгавруудыг бусад програмуудтай ажиллахдаа дахин ашиглаж болно.

Эндээс бид дараагийн цэг рүү аятайхан шилжиж байна ...

Нөөц

Тиймээс, бидний сая хэлсэнчлэн кластерийн даалгавар нь аль болох ерөнхий байх ёстой тул бид оролт (Git репозитор) болон гаралт (эцсийн зураг) болгон ашиглах нөөцийг бий болгох хэрэгтэй. Бидэнд хэрэгтэй хамгийн эхний эх сурвалж бол Git бөгөөд манай програм байрладаг бөгөөд дараах байдалтай байна.

# This resource is the location of the git repo with the web application source
apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: web-application-repo
spec:
  type: git
  params:
    - name: url
      value: https://github.com/nodeshift-starters/react-pipeline-example
    - name: revision
      value: master

Энд PipelineResource нь git төрлийн байна. Парамсын хэсэг дэх url түлхүүр нь тодорхой агуулах руу чиглэж, мастер салбарыг зааж өгдөг (энэ нь заавал биш, гэхдээ бид үүнийг бүрэн гүйцэд бичихийн тулд бичнэ).

Одоо бид s2i-web-app даалгаврын үр дүнг хадгалах зургийн нөөцийг үүсгэх хэрэгтэй, үүнийг дараах байдлаар хийнэ.

# This resource is the result of running "npm run build",  the resulting built files will be located in /opt/app-root/output
apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: built-web-application-image
spec:
  type: image
  params:
    - name: url
      value: image-registry.openshift-image-registry.svc:5000/webapp-pipeline/built-web-application:latest

Энд PipelineResource нь зургийн төрөл бөгөөд url параметрийн утга нь дотоод OpenShift Зургийн Бүртгэлийг, ялангуяа webapp-pipeline нэрийн талбарт байрлахыг заадаг. Хэрэв та өөр нэрийн зай ашиглаж байгаа бол энэ тохиргоог өөрчлөхөө бүү мартаарай.

Эцэст нь хэлэхэд, бидэнд хэрэгтэй хамгийн сүүлийн эх сурвалж нь мөн төрлийн зураг байх бөгөөд энэ нь байршуулах явцад ашиглагдах эцсийн NGINX зураг байх болно:

# This resource is the image that will be just the static html, css, js files being run with nginx
apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: runtime-web-application-image
spec:
  type: image
  params:
    - name: url
      value: image-registry.openshift-image-registry.svc:5000/webapp-pipeline/runtime-web-application:latest

Дахин хэлэхэд, энэ нөөц нь зургийг webapp-pipeline нэрийн талбар дахь дотоод OpenShift бүртгэлд хадгалдаг болохыг анхаарна уу.

Эдгээр бүх нөөцийг нэг дор үүсгэхийн тулд бид үүсгэх командыг ашиглана:

$ oc create -f https://raw.githubusercontent.com/nodeshift/webapp-pipeline-tutorial/master/resources/resource.yaml

Та нөөцийг дараах байдлаар үүсгэсэн эсэхийг шалгаж болно:

$ tkn resource ls

Конвейер дамжуулах хоолой

Одоо бидэнд шаардлагатай бүх бүрэлдэхүүн хэсгүүд байгаа тул дараахь командын тусламжтайгаар тэдгээрээс дамжуулах хоолойг угсарцгаая.

$ oc create -f https://raw.githubusercontent.com/nodeshift/webapp-pipeline-tutorial/master/pipelines/build-and-deploy-react.yaml

Гэхдээ энэ командыг ажиллуулахын өмнө эдгээр бүрэлдэхүүн хэсгүүдийг харцгаая. Эхнийх нь нэр:

apiVersion: tekton.dev/v1alpha1
kind: Pipeline
metadata:
  name: build-and-deploy-react

Дараа нь техникийн хэсэгт бид өмнө нь бий болгосон нөөцийн заалтыг харж байна:

spec:
  resources:
    - name: web-application-repo
      type: git
    - name: built-web-application-image
      type: image
    - name: runtime-web-application-image
      type: image

Дараа нь бид дамжуулах хоолойн гүйцэтгэх ёстой ажлуудыг бий болгодог. Юуны өмнө энэ нь бидний аль хэдийн үүсгэсэн s2i-web-app даалгаврыг гүйцэтгэх ёстой:

tasks:
    - name: build-web-application
      taskRef:
        name: s2i-web-app
        kind: ClusterTask

Энэ даалгавар нь оролт (gir resource) ба гаралт (built-web-application-image resource) параметрүүдийг авдаг. Бид мөн өөрөө гарын үсэг зурсан гэрчилгээг ашиглаж байгаа тул TLS-ийг баталгаажуулахгүйн тулд үүнийг тусгай параметрээр дамжуулдаг:

resources:
        inputs:
          - name: source
            resource: web-application-repo
        outputs:
          - name: image
            resource: built-web-application-image
      params:
        - name: TLSVERIFY
          value: "false"

Дараагийн даалгавар нь бараг ижил, зөвхөн энд бидний аль хэдийн үүсгэсэн webapp-build-runtime кластерийн даалгаврыг дуудаж байна:

name: build-runtime-image
    taskRef:
      name: webapp-build-runtime
      kind: ClusterTask

Өмнөх даалгаврын нэгэн адил бид нөөцийг дамжуулж байгаа боловч одоо энэ нь баригдсан вэб-аппликейшн-зураг (бидний өмнөх даалгаврын гаралт) юм. Мөн гаралт болгон бид зургийг дахин тохируулна. Энэ ажлыг өмнөхийн дараа гүйцэтгэх ёстой тул бид runAfter талбарыг нэмнэ:

resources:
        inputs:
          - name: image
            resource: built-web-application-image
        outputs:
          - name: image
            resource: runtime-web-application-image
        params:
        - name: TLSVERIFY
          value: "false"
      runAfter:
        - build-web-application

Дараагийн хоёр даалгавар нь манай вэб програмын k8s лавлах дахь үйлчилгээ, чиглүүлэлт, байршуулалтын YAML файлуудыг ашиглах, мөн шинэ зураг үүсгэх үед энэ байршуулалтыг шинэчлэх үүрэгтэй. Бид өгүүллийн эхэнд эдгээр хоёр кластерийн ажлыг тодорхойлсон.

Конвейерийг эхлүүлж байна

Тиймээс бидний дамжуулах хоолойн бүх хэсгүүд үүссэн бөгөөд бид үүнийг дараах тушаалаар ажиллуулна.

$ tkn pipeline start build-and-deploy-react

Энэ үе шатанд командын мөрийг интерактив байдлаар ашигладаг бөгөөд та түүний хүсэлт бүрийн хариуд тохирох нөөцийг сонгох хэрэгтэй: git нөөцийн хувьд web-application-repo, дараа нь эхний зургийн эх сурвалжийн хувьд баригдсан вэб програмыг сонгоно уу. -зураг, эцэст нь, хоёр дахь зургийн эх сурвалжийн хувьд – runtime-web-application-image:

? Choose the git resource to use for web-application-repo: web-application-repo (https://github.com/nodeshift-starters/react-pipeline-example)
? Choose the image resource to use for built-web-application-image: built-web-application-image (image-registry.openshift-image-registry.svc:5000/webapp-pipeline/built-web-
application:latest)
? Choose the image resource to use for runtime-web-application-image: runtime-web-application-image (image-registry.openshift-image-registry.svc:5000/webapp-pipeline/runtim
e-web-application:latest)
Pipelinerun started: build-and-deploy-react-run-4xwsr

Одоо дараах тушаалыг ашиглан дамжуулах хоолойн статусыг шалгацгаая.

$ tkn pipeline logs -f

Дамжуулах хоолой эхэлж, програмыг байрлуулсны дараа бид дараах тушаалаар нийтлэгдсэн маршрутыг хүсч болно.

$ oc get route react-pipeline-example --template='http://{{.spec.host}}'

Илүү сайн дүрслэхийн тулд та вэб консолын Хөгжүүлэгчийн горимоос манай шугамыг харах боломжтой Шугам хоолой, Зурагт үзүүлсэн шиг. 1.

OpenShift дээрх орчин үеийн програмууд, 3-р хэсэг: OpenShift нь хөгжүүлэлтийн орчин ба OpenShift Pipelines

Зураг 1. Дамжуулах хоолойнуудыг тоймлох.

Гүйж буй дамжуулах хоолой дээр дарахад 2-р зурагт үзүүлсэн шиг нэмэлт мэдээлэл гарч ирнэ.

OpenShift дээрх орчин үеийн програмууд, 3-р хэсэг: OpenShift нь хөгжүүлэлтийн орчин ба OpenShift Pipelines

Цагаан будаа. 2. Дамжуулах хоолойн тухай нэмэлт мэдээлэл.

Дэлгэрэнгүй мэдээлэл авсны дараа та харагдац дээр ажиллаж байгаа програмуудыг харж болно Топологи, 3-р зурагт үзүүлснээр.

OpenShift дээрх орчин үеийн програмууд, 3-р хэсэг: OpenShift нь хөгжүүлэлтийн орчин ба OpenShift Pipelines

Зураг 3. Эхэлсэн pod.

Зургийн 4-т үзүүлсэн шиг дүрсний баруун дээд буланд байгаа тойрог дээр дарахад манай програм нээгдэнэ.

OpenShift дээрх орчин үеийн програмууд, 3-р хэсэг: OpenShift нь хөгжүүлэлтийн орчин ба OpenShift Pipelines

Цагаан будаа. 4. React програмыг ажиллуулж байна.

дүгнэлт

Тиймээс бид OpenShift дээр өөрийн програмын хөгжүүлэлтийн серверийг хэрхэн ажиллуулж, дотоод файлын системтэй синхрончлохыг харуулсан. Мөн бид OpenShift Pipelines ашиглан гинжлэгдсэн загварыг хэрхэн загварчлах талаар авч үзсэн. Энэ нийтлэлийн бүх жишээ кодыг олж болно энд.

Нэмэлт нөөц (EN)

Удахгүй болох вэбинаруудын зарлал

Бид Red Hat OpenShift Container Platform болон Kubernetes-ийг ашиглан уугуул туршлагын талаар баасан гаригт цуврал вебинаруудыг эхлүүлж байна.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх