Awọn ohun elo ode oni lori OpenShift, apakan 3: OpenShift bi agbegbe idagbasoke ati OpenShift Pipelines

Hello gbogbo eniyan lori yi bulọọgi! Eyi ni ifiweranṣẹ kẹta ninu jara ninu eyiti a fihan bi o ṣe le ran awọn ohun elo wẹẹbu ode oni sori Red Hat OpenShift.

Awọn ohun elo ode oni lori OpenShift, apakan 3: OpenShift bi agbegbe idagbasoke ati OpenShift Pipelines

Ninu awọn ifiweranṣẹ meji ti tẹlẹ, a fihan bi o ṣe le ran awọn ohun elo wẹẹbu ode oni ni awọn igbesẹ diẹ ati bii o ṣe le lo aworan S2I tuntun kan pẹlu aworan olupin HTTP ti ita-selifu, gẹgẹbi NGINX, ni lilo awọn ile-ẹwọn lati ṣeto awọn imuṣiṣẹ iṣelọpọ. .

Loni a yoo ṣafihan bi o ṣe le ṣiṣe olupin idagbasoke kan fun ohun elo rẹ lori pẹpẹ OpenShift ati muuṣiṣẹpọ pẹlu eto faili agbegbe, ati tun sọrọ nipa kini OpenShift Pipelines jẹ ati bii wọn ṣe le lo bi yiyan si awọn apejọ ti o sopọ.

OpenShift bi agbegbe idagbasoke

Idagbasoke iṣẹ ṣiṣe

Bi a ti sọ tẹlẹ ninu akọkọ post, Ilana idagbasoke aṣoju fun awọn ohun elo wẹẹbu ode oni jẹ diẹ ninu awọn iru “olupin idagbasoke” ti o tọpa awọn ayipada si awọn faili agbegbe. Nigbati wọn ba waye, kikọ ohun elo naa yoo fa ati lẹhinna o ti ni imudojuiwọn si ẹrọ aṣawakiri naa.

Ni ọpọlọpọ awọn ilana igbalode, iru “olupin idagbasoke” ni a kọ sinu awọn irinṣẹ laini aṣẹ ti o baamu.

Apeere agbegbe

Ni akọkọ, jẹ ki a wo bii eyi ṣe n ṣiṣẹ nigbati o nṣiṣẹ awọn ohun elo ni agbegbe. Jẹ ká ya awọn ohun elo bi apẹẹrẹ Idahun lati awọn nkan iṣaaju, botilẹjẹpe o fẹrẹẹ jẹ awọn imọran iṣan-iṣẹ kanna lo ni gbogbo awọn ilana ode oni miiran.
Nitorinaa, lati bẹrẹ “olupin dev” ninu apẹẹrẹ React wa, a yoo tẹ aṣẹ wọnyi sii:

$ npm run start

Lẹhinna ni window ebute a yoo rii nkan bii eyi:

Awọn ohun elo ode oni lori OpenShift, apakan 3: OpenShift bi agbegbe idagbasoke ati OpenShift Pipelines

Ati pe ohun elo wa yoo ṣii ni aṣawakiri aiyipada:

Awọn ohun elo ode oni lori OpenShift, apakan 3: OpenShift bi agbegbe idagbasoke ati OpenShift Pipelines

Bayi, ti a ba ṣe awọn ayipada si faili naa, ohun elo yẹ ki o ṣe imudojuiwọn ni ẹrọ aṣawakiri.

O dara, ohun gbogbo han gbangba pẹlu idagbasoke ni ipo agbegbe, ṣugbọn bii o ṣe le ṣaṣeyọri kanna lori OpenShift?

Olupin idagbasoke lori OpenShift

Ti o ba ranti, in ti tẹlẹ post, a wo ohun ti a pe ni ipele ṣiṣe ti aworan S2I ati rii pe nipasẹ aiyipada, module olupin jẹ iduro fun ṣiṣe iṣẹ ohun elo wẹẹbu wa.

Sibẹsibẹ, ti o ba ṣe akiyesi diẹ sii ṣiṣe akosile lati apẹẹrẹ yẹn, o ni oniyipada ayika $ NPM_RUN, eyiti o fun ọ laaye lati ṣiṣẹ aṣẹ rẹ.

Fun apẹẹrẹ, a le lo module nodeshift lati mu ohun elo wa lọ:

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

Akiyesi: Apeere ti o wa loke jẹ kukuru lati ṣe apejuwe imọran gbogbogbo.

Nibi a ti ṣafikun oniyipada ayika NPM_RUN si imuṣiṣẹ wa, eyiti o sọ fun akoko asiko lati ṣiṣẹ aṣẹ ibere yarn, eyiti o bẹrẹ olupin idagbasoke React inu Podu OpenShift wa.

Ti o ba wo log ti adarọ-ese, yoo dabi iru eyi:

Awọn ohun elo ode oni lori OpenShift, apakan 3: OpenShift bi agbegbe idagbasoke ati OpenShift Pipelines

Nitoribẹẹ, gbogbo eyi kii yoo jẹ ohunkohun titi ti a yoo fi le mu koodu agbegbe ṣiṣẹpọ pẹlu koodu naa, eyiti o tun ṣe abojuto fun awọn ayipada, ṣugbọn ngbe lori olupin latọna jijin.

Mimuuṣiṣẹpọ latọna jijin ati koodu agbegbe

Ni akoko, nodeshift le ṣe iranlọwọ ni irọrun pẹlu mimuuṣiṣẹpọ, ati pe o le lo aṣẹ iṣọ lati tọpa awọn ayipada.

Nitorinaa lẹhin ti a ti ṣiṣẹ aṣẹ lati fi olupin idagbasoke ranṣẹ fun ohun elo wa, a le lo pipaṣẹ atẹle lailewu:

$ npx nodeshift watch

Bi abajade, asopọ kan yoo ṣe si adarọ-ese ti a ṣẹda diẹ diẹ sẹhin, mimuuṣiṣẹpọ ti awọn faili agbegbe wa pẹlu iṣupọ latọna jijin yoo ṣiṣẹ, ati awọn faili ti o wa lori eto agbegbe wa yoo bẹrẹ si ni abojuto fun awọn ayipada.

Nitorinaa, ti a ba ṣe imudojuiwọn faili src/App.js bayi, eto naa yoo dahun si awọn ayipada wọnyi, daakọ wọn si iṣupọ latọna jijin ki o bẹrẹ olupin idagbasoke, eyiti yoo ṣe imudojuiwọn ohun elo wa ninu ẹrọ aṣawakiri.

Lati pari aworan naa, jẹ ki a ṣafihan kini gbogbo awọn aṣẹ wọnyi dabi:

$ 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

Aṣẹ iṣọ jẹ abstraction lori oke aṣẹ oc rsync, o le ni imọ siwaju sii nipa bii o ṣe n ṣiṣẹ nibi.

Eyi jẹ apẹẹrẹ fun React, ṣugbọn ọna kanna gangan le ṣee lo pẹlu awọn ilana miiran, kan ṣeto iyipada ayika NPM_RUN bi o ṣe pataki.

Openshift Pipelines

Awọn ohun elo ode oni lori OpenShift, apakan 3: OpenShift bi agbegbe idagbasoke ati OpenShift Pipelines

Nigbamii a yoo sọrọ nipa ohun elo kan bii OpenShift Pipelines ati bii o ṣe le ṣee lo bi yiyan si awọn ile-ẹwọn.

Kini OpenShift Pipelines

OpenShift Pipelines jẹ awọsanma-ilu abinibi CI/CD isọpọ lemọlemọfún ati eto ifijiṣẹ ti a ṣe apẹrẹ fun siseto awọn paipu nipa lilo Tekton. Tekton jẹ ipilẹ-ìmọ Kubernetes-ilu abinibi CI/CD ilana ti o fun ọ laaye lati ṣe adaṣe adaṣe lori awọn iru ẹrọ oriṣiriṣi (Kubernetes, olupin, awọn ẹrọ foju, ati bẹbẹ lọ) nipa yiyọ kuro ni ipele ti o wa labẹ.

Loye nkan yii nilo diẹ ninu imọ ti Pipelines, nitorinaa a ṣeduro ni iyanju pe ki o kọkọ ka osise iwe eko.

Ṣiṣeto agbegbe iṣẹ rẹ

Lati mu ṣiṣẹ pẹlu awọn apẹẹrẹ ninu nkan yii, o nilo akọkọ lati mura agbegbe iṣẹ rẹ:

  1. Fi sori ẹrọ ati tunto iṣupọ OpenShift 4. Awọn apẹẹrẹ wa lo CodeReady Containers (CRD) fun eyi, awọn ilana fifi sori ẹrọ eyiti o le rii nibi.
  2. Lẹhin iṣupọ naa ti ṣetan, o nilo lati fi Oṣiṣẹ Pipeline sori rẹ. Maṣe bẹru, o rọrun, awọn ilana fifi sori ẹrọ nibi.
  3. Gbaa lati ayelujara Tekton CLI (tkn) nibi.
  4. Ṣiṣe awọn ohun elo laini aṣẹ ṣẹda-react-app lati ṣẹda ohun elo kan ti iwọ yoo ran lọ (eyi jẹ ohun elo ti o rọrun Idahun).
  5. (Eyi je eyi ko je) Di ibi ipamọ naa lati ṣiṣẹ ohun elo apẹẹrẹ ni agbegbe pẹlu fifi sori ẹrọ npm ati lẹhinna npm bẹrẹ.

Ibi ipamọ ohun elo yoo tun ni folda k8s, eyiti yoo ni awọn Kubernetes/OpenShift YAML ti a lo lati fi ohun elo naa ranṣẹ. Awọn iṣẹ-ṣiṣe yoo wa, Awọn iṣẹ-ṣiṣe Cluster, Awọn orisun ati Awọn opo gigun ti a yoo ṣẹda ninu eyi awọn ibi ipamọ.

Jẹ ká bẹrẹ

Igbesẹ akọkọ fun apẹẹrẹ wa ni lati ṣẹda iṣẹ akanṣe tuntun ninu iṣupọ OpenShift. Jẹ ki a pe iṣẹ akanṣe yii webapp-pipeline ki o ṣẹda rẹ pẹlu aṣẹ atẹle:

$ oc new-project webapp-pipeline

Orukọ iṣẹ akanṣe yii yoo han ninu koodu nigbamii lori, nitorinaa ti o ba pinnu lati lorukọ nkan miiran, maṣe gbagbe lati ṣatunkọ koodu apẹẹrẹ ni ibamu. Bibẹrẹ lati aaye yii, a kii yoo lọ si oke-isalẹ, ṣugbọn isalẹ-oke: iyẹn ni, a yoo kọkọ ṣẹda gbogbo awọn paati ti gbigbe, ati lẹhinna gbigbe ara rẹ nikan.

Nitorina, akọkọ ...

Awọn iṣẹ-ṣiṣe

Jẹ ki a ṣẹda awọn iṣẹ-ṣiṣe meji, eyiti yoo ṣe iranlọwọ lati mu ohun elo ṣiṣẹ laarin opo gigun ti epo wa. Iṣẹ akọkọ - apply_manifests_task - jẹ iduro fun lilo YAML ti awọn orisun Kubernetes wọnyẹn (iṣẹ, imuṣiṣẹ ati ipa ọna) ti o wa ninu folda k8s ti ohun elo wa. Iṣẹ-ṣiṣe keji - update_deployment_task - jẹ iduro fun mimudojuiwọn aworan ti a fi ranṣẹ tẹlẹ si ọkan ti o ṣẹda nipasẹ opo gigun ti epo wa.

Maṣe yọ ara rẹ lẹnu ti ko ba han gbangba sibẹsibẹ. Ni otitọ, awọn iṣẹ-ṣiṣe wọnyi jẹ nkan bi awọn ohun elo, ati pe a yoo wo wọn ni awọn alaye diẹ sii diẹ nigbamii. Fun bayi, jẹ ki a kan ṣẹda wọn:

$ 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

Lẹhinna, ni lilo aṣẹ tkn CLI, a yoo ṣayẹwo pe a ti ṣẹda awọn iṣẹ ṣiṣe:

$ tkn task ls

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

Akiyesi: Iwọnyi jẹ awọn iṣẹ-ṣiṣe agbegbe fun iṣẹ akanṣe lọwọlọwọ rẹ.

Awọn iṣẹ-ṣiṣe iṣupọ

Awọn iṣẹ-ṣiṣe iṣupọ jẹ ipilẹ kanna bii awọn iṣẹ ṣiṣe ti o rọrun. Iyẹn ni, o jẹ akojọpọ awọn igbesẹ ti o tun ṣee lo ti o papọ ni ọna kan tabi omiiran nigba ṣiṣe iṣẹ-ṣiṣe kan pato. Iyatọ naa ni pe iṣẹ-ṣiṣe iṣupọ kan wa nibi gbogbo laarin iṣupọ. Lati wo atokọ ti awọn iṣẹ-ṣiṣe iṣupọ ti o ṣẹda laifọwọyi nigbati o nfi Oluṣe Pipeline kun, a yoo tun lo aṣẹ 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

Bayi jẹ ki a ṣẹda awọn iṣẹ-ṣiṣe iṣupọ meji. Ni igba akọkọ ti yoo ṣe ina aworan S2I ati firanṣẹ si iforukọsilẹ OpenShift inu; keji ni lati kọ aworan wa ti o da lori NGINX, lilo ohun elo ti a ti kọ tẹlẹ bi akoonu.

Ṣẹda ati firanṣẹ aworan naa

Nigbati o ba ṣẹda iṣẹ-ṣiṣe akọkọ, a yoo tun ṣe ohun ti a ti ṣe tẹlẹ ninu nkan ti tẹlẹ nipa awọn apejọ ti o sopọ. Ranti pe a lo aworan S2I (ubi8-s2i-web-app) lati “kọ” ohun elo wa, o si pari pẹlu aworan ti o fipamọ sinu iforukọsilẹ inu OpenShift. Ni bayi a yoo lo aworan ohun elo oju opo wẹẹbu S2I yii lati ṣẹda DockerFile kan fun ohun elo wa lẹhinna lo Buildah lati ṣe itumọ gangan ati Titari aworan abajade si iforukọsilẹ inu OpenShift, nitori iyẹn ni deede ohun ti OpenShift ṣe nigbati o mu awọn ohun elo rẹ ṣiṣẹ ni lilo NodeShift .

Bawo ni a ṣe mọ gbogbo eyi, o beere? Lati osise version of osise Node.js, a kan daakọ ati ṣe atunṣe fun ara wa.

Nitorinaa, ni bayi jẹ ki a ṣẹda iṣẹ-ṣiṣe iṣupọ s2i-web-app:

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

A kii yoo ṣe itupalẹ eyi ni awọn alaye, ṣugbọn yoo dojukọ nikan lori paramita OUTPUT_DIR:

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

Nipa aiyipada, paramita yii dọgba lati kọ, eyiti o jẹ ibiti React fi akoonu ti o pejọ sii. Awọn ilana miiran lo awọn ọna oriṣiriṣi, fun apẹẹrẹ, ni Ember o jẹ dist. Ijade ti iṣẹ-ṣiṣe iṣupọ akọkọ wa yoo jẹ aworan ti o ni HTML, JavaScript, ati CSS ti a kojọ ninu.

Kọ aworan kan ti o da lori NGINX

Bi fun iṣẹ iṣupọ keji wa, o yẹ ki o kọ aworan ti o da lori NGINX fun wa, ni lilo akoonu ti ohun elo ti a ti kọ tẹlẹ. Ni pataki, eyi ni apakan ti apakan ti tẹlẹ nibiti a ti wo awọn ile-ẹwọn.

Lati ṣe eyi, awa - ni deede kanna bi o kan loke - yoo ṣẹda iṣẹ-ṣiṣe iṣupọ webapp-build-runtime:

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

Ti o ba wo koodu ti awọn iṣẹ-ṣiṣe iṣupọ wọnyi, o le rii pe ko ṣe pato ibi ipamọ Git ti a n ṣiṣẹ pẹlu tabi awọn orukọ awọn aworan ti a ṣẹda. A pato pato kini gangan ti a n gbe si Git, tabi aworan kan nibiti aworan ikẹhin yẹ ki o jade. Ti o ni idi ti awọn iṣẹ-ṣiṣe iṣupọ wọnyi le tun lo nigbati o ba n ṣiṣẹ pẹlu awọn ohun elo miiran.

Ati pe nibi a ni oore-ọfẹ gbe lọ si aaye atẹle…

Oro

Nitorinaa, niwọn bi a ti sọ, awọn iṣẹ iṣupọ yẹ ki o jẹ gbogbogbo bi o ti ṣee ṣe, a nilo lati ṣẹda awọn orisun ti yoo ṣee lo bi titẹ sii (ibi ipamọ Git) ati bi iṣelọpọ (awọn aworan ikẹhin). Ohun elo akọkọ ti a nilo ni Git, nibiti ohun elo wa gbe, nkan bii eyi:

# 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

Nibi PipelineResource jẹ ti iru git. Bọtini url ti o wa ni apakan params tọka si ibi ipamọ kan pato ati pato ẹka titunto si (eyi jẹ iyan, ṣugbọn a kọ fun pipe).

Bayi a nilo lati ṣẹda orisun kan fun aworan nibiti awọn abajade ti iṣẹ-ṣiṣe s2i-web-app yoo wa ni fipamọ, eyi ni a ṣe bii eyi:

# 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

Nibi PipelineResource jẹ ti iru aworan, ati pe iye paramita url tọka si iforukọsilẹ Aworan OpenShift inu, pataki eyiti o wa ni aaye orukọ pipeline webapp. Maṣe gbagbe lati yi eto yii pada ti o ba nlo aaye orukọ ọtọtọ.

Ati nikẹhin, orisun ti o kẹhin ti a nilo yoo tun jẹ iru aworan ati pe eyi yoo jẹ aworan NGINX ikẹhin ti yoo ṣee lo lakoko imuṣiṣẹ:

# 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

Lẹẹkansi, ṣakiyesi pe orisun yii tọju aworan naa sinu iforukọsilẹ OpenShift inu inu aaye orukọ-pipeline webapp.

Lati ṣẹda gbogbo awọn orisun wọnyi ni ẹẹkan, a lo aṣẹ ṣiṣẹda:

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

O le rii daju pe a ti ṣẹda awọn orisun bii eyi:

$ tkn resource ls

Opopona gbigbe

Ni bayi ti a ni gbogbo awọn paati pataki, jẹ ki a ṣajọ opo gigun ti epo lati wọn nipa ṣiṣẹda pẹlu aṣẹ atẹle:

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

Ṣugbọn ṣaaju ṣiṣe aṣẹ yii, jẹ ki a wo awọn paati wọnyi. Akọkọ ni orukọ:

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

Lẹhinna ni apakan pato a rii itọkasi ti awọn orisun ti a ṣẹda tẹlẹ:

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

Lẹhinna a ṣẹda awọn iṣẹ-ṣiṣe ti opo gigun ti epo nilo lati pari. Ni akọkọ, o gbọdọ ṣiṣẹ iṣẹ-ṣiṣe s2i-web-app ti a ti ṣẹda tẹlẹ:

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

Iṣẹ-ṣiṣe yii n gba titẹ sii (awọn orisun gir) ati ṣiṣejade (awọn orisun ohun elo-aworan oju-iwe ayelujara ti a ṣe-itumọ ti) awọn paramita. A tun ṣe paramita pataki kan ki o ko rii daju TLS nitori a nlo awọn iwe-ẹri ti ara ẹni:

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

Iṣẹ-ṣiṣe ti o tẹle jẹ fere kanna, nibi nikan ni iṣẹ iṣupọ webapp-build-runtime ti a ti ṣẹda tẹlẹ ni a npe ni:

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

Gẹgẹbi pẹlu iṣẹ iṣaaju, a kọja ni orisun kan, ṣugbọn ni bayi o jẹ aworan ohun elo wẹẹbu ti a ṣe-itumọ (ijade ti iṣẹ-ṣiṣe iṣaaju wa). Ati bi abajade a tun ṣeto aworan naa. Niwọn igba ti iṣẹ yii gbọdọ ṣe lẹhin ti iṣaaju, a ṣafikun aaye 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

Awọn iṣẹ-ṣiṣe meji ti o tẹle ni o ni iduro fun lilo iṣẹ, ipa-ọna ati imuṣiṣẹ awọn faili YAML ti o ngbe inu ilana k8s ti ohun elo wẹẹbu wa, ati tun fun mimuuṣiṣẹpọ imuṣiṣẹ yii nigba ṣiṣẹda awọn aworan tuntun. A ṣe alaye awọn iṣẹ iṣupọ meji wọnyi ni ibẹrẹ nkan naa.

Ti o bere awọn conveyor

Nitorinaa, gbogbo awọn apakan ti opo gigun ti epo wa ni a ṣẹda, ati pe a yoo ṣiṣẹ pẹlu aṣẹ atẹle:

$ tkn pipeline start build-and-deploy-react

Ni ipele yii, a lo laini aṣẹ ni ibaraenisepo ati pe o nilo lati yan awọn orisun ti o yẹ ni idahun si awọn ibeere rẹ kọọkan: fun orisun git, yan ohun elo wẹẹbu-repo, lẹhinna fun orisun aworan akọkọ, ohun elo wẹẹbu-itumọ -aworan, ati nikẹhin, fun orisun aworan keji –aworan igba-akoko-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

Bayi jẹ ki a ṣayẹwo ipo ti opo gigun ti epo nipa lilo aṣẹ atẹle:

$ tkn pipeline logs -f

Ni kete ti opo gigun ti epo ti bẹrẹ ati pe ohun elo naa ti gbe lọ, a le beere ọna ti a tẹjade pẹlu aṣẹ atẹle:

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

Fun iwoye nla, o le wo opo gigun ti epo wa ni ipo Olùgbéejáde ti console wẹẹbu ni apakan Pipelines, bi o han ni Ọpọtọ. 1.

Awọn ohun elo ode oni lori OpenShift, apakan 3: OpenShift bi agbegbe idagbasoke ati OpenShift Pipelines

Fig.1. Atunwo ti nṣiṣẹ pipelines.

Tite lori opo gigun ti epo n ṣe afihan awọn alaye afikun, bi o ṣe han ni Nọmba 2.

Awọn ohun elo ode oni lori OpenShift, apakan 3: OpenShift bi agbegbe idagbasoke ati OpenShift Pipelines

Iresi. 2. Alaye afikun nipa opo gigun ti epo.

Lẹhin alaye diẹ sii, o le wo awọn ohun elo nṣiṣẹ ni wiwo oju ile, bi o han ni Fig.3.

Awọn ohun elo ode oni lori OpenShift, apakan 3: OpenShift bi agbegbe idagbasoke ati OpenShift Pipelines

olusin 3. Podu ti a ṣe ifilọlẹ.

Tite lori Circle ni igun apa ọtun loke ti aami naa ṣii ohun elo wa, bi o ṣe han ni aworan 4.

Awọn ohun elo ode oni lori OpenShift, apakan 3: OpenShift bi agbegbe idagbasoke ati OpenShift Pipelines

Iresi. 4. Nṣiṣẹ React ohun elo.

ipari

Nitorinaa, a fihan bi o ṣe le ṣiṣe olupin idagbasoke fun ohun elo rẹ lori OpenShift ati muuṣiṣẹpọ pẹlu eto faili agbegbe. A tun wo bi o ṣe le ṣe adaṣe awoṣe ti a fi ẹwọn kan ni lilo OpenShift Pipelines. Gbogbo awọn koodu apẹẹrẹ lati nkan yii ni a le rii nibi.

Awọn orisun afikun (EN)

Awọn ikede ti awọn webinars ti n bọ

A n bẹrẹ lẹsẹsẹ awọn oju opo wẹẹbu Ọjọ Jimọ nipa iriri abinibi nipa lilo Platform Red Hat OpenShift Container Platform ati Kubernetes:

orisun: www.habr.com

Fi ọrọìwòye kun