Nā noi hou ma OpenShift, ʻāpana 3: OpenShift ma ke ʻano he wahi hoʻomohala a me OpenShift Pipelines

Aloha kākou a pau ma kēia blog! ʻO kēia ke kolu o ka pou i loko o kahi pūʻulu e hōʻike ai mākou i ka hoʻolālā ʻana i nā noi pūnaewele hou ma Red Hat OpenShift.

Nā noi hou ma OpenShift, ʻāpana 3: OpenShift ma ke ʻano he wahi hoʻomohala a me OpenShift Pipelines

Ma nā pou ʻelua i hala aku nei, ua hōʻike mākou pehea e hoʻonohonoho ai i nā noi pūnaewele hou i loko o kahi liʻiliʻi wale nō a pehea e hoʻohana ai i kahi kiʻi S2I hou me kahi kiʻi kikowaena HTTP waho-ka-shelf, e like me NGINX, me ka hoʻohana ʻana i nā hale kaulahao e hoʻonohonoho i nā hoʻolaha hana. .

I kēia lā e hōʻike mākou pehea e holo ai i kahi kikowaena hoʻomohala no kāu noi ma ka OpenShift platform a hoʻonohonoho pū me ka ʻōnaehana faila kūloko, a kamaʻilio pū hoʻi e pili ana i ke ʻano o OpenShift Pipelines a pehea e hiki ai ke hoʻohana ʻia ma ke ʻano he koho i nā hui pili.

ʻO OpenShift ma ke ʻano he wahi hoʻomohala

Kaʻina hana hoʻomohala

E like me ka mea i olelo mua ia ma pou mua, ʻo ke kaʻina hana hoʻomohala maʻamau no nā noi pūnaewele hou he ʻano wale nō ia o ka "server development" e hahai ana i nā loli i nā faila kūloko. I ka wā e hiki mai ai, hoʻomaka ke kūkulu ʻia ʻana o ka noi a laila hoʻonui ʻia i ka polokalamu kele pūnaewele.

I ka hapanui o nā ʻōnaehana hou, ua kūkulu ʻia kahi "server hoʻomohala" i loko o nā mea hana laina kauoha.

Laʻana kūloko

ʻO ka mea mua, e ʻike kākou pehea e hana ai kēia i ka wā e holo ana i nā noi ma ka ʻāina. E lawe kākou i ka palapala noi i laʻana pane koke mai nā ʻatikala ma mua, ʻoiai ua pili like nā manaʻo kaila hana i nā ʻano hana hou a pau.
No laila, e hoʻomaka i ka "dev server" i kā mākou React example, e komo mākou i kēia kauoha:

$ npm run start

A laila ma ka puka makani ʻike mākou i kahi mea e like me kēia:

Nā noi hou ma OpenShift, ʻāpana 3: OpenShift ma ke ʻano he wahi hoʻomohala a me OpenShift Pipelines

A e wehe ʻia kā mākou noi ma ka polokalamu kele pūnaewele:

Nā noi hou ma OpenShift, ʻāpana 3: OpenShift ma ke ʻano he wahi hoʻomohala a me OpenShift Pipelines

I kēia manawa, inā hoʻololi mākou i ka faila, pono e hoʻonui ka noi i ka polokalamu kele pūnaewele.

ʻAe, maopopo nā mea āpau me ka hoʻomohala ʻana i ke ʻano kūloko, akā pehea e hoʻokō ai i ka like ma OpenShift?

Ke kikowaena hoʻomohala ma OpenShift

Ina oe e hoomanao, in pou mua, ua nānā mākou i ka mea i kapa ʻia ʻo ka māhele holo o ke kiʻi S2I a ʻike mākou ma ke ʻano maʻamau, ʻo ka module serve ke kuleana no ka lawelawe ʻana i kā mākou noi pūnaewele.

Eia naʻe, inā ʻoe e nānā pono holo palapala mai kēlā laʻana, loaʻa ka $NPM_RUN environment variable, e hiki ai iā ʻoe ke hoʻokō i kāu kauoha.

No ka laʻana, hiki iā mākou ke hoʻohana i ka module nodeshift e kau i kā mākou noi:

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

Nānā: Hoʻopau ʻia ka laʻana ma luna e hōʻike i ka manaʻo nui.

Maʻaneʻi ua hoʻohui mākou i ka NPM_RUN hoʻololi kaiapuni i kā mākou hoʻolālā, e haʻi ana i ka manawa holo e holo i ke kauoha hoʻomaka yarn, e hoʻomaka ana i ka React development server i loko o kā mākou OpenShift pod.

Inā ʻoe e nānā i ka log o kahi pahu holo, e like me kēia:

Nā noi hou ma OpenShift, ʻāpana 3: OpenShift ma ke ʻano he wahi hoʻomohala a me OpenShift Pipelines

ʻOiaʻiʻo, he mea ʻole kēia a hiki i ka hiki iā mākou ke hoʻonohonoho i ke code kūloko me ke code, ka mea i nānā ʻia no nā loli, akā noho ma kahi kikowaena mamao.

ʻO ka hoʻonohonoho ʻana i nā code mamao a kūloko

ʻO ka mea pōmaikaʻi, hiki i ka nodeshift ke kōkua maʻalahi me ka hoʻonohonoho ʻana, a hiki iā ʻoe ke hoʻohana i ke kauoha wati e hahai i nā loli.

No laila, ma hope o kā mākou holo ʻana i ke kauoha e kau i ka kikowaena hoʻomohala no kā mākou noi, hiki iā mākou ke hoʻohana palekana i kēia kauoha:

$ npx nodeshift watch

ʻO ka hopena, e hana ʻia kahi pilina i ka pod holo a mākou i hana ai ma mua iki, e hoʻāla ʻia ka synchronization o kā mākou mau faila kūloko me ka puʻupuʻu mamao, a hoʻomaka nā faila ma kā mākou ʻōnaehana kūloko e nānā ʻia no nā loli.

No laila, inā mākou e hōʻano hou i ka faila src/App.js, e pane ka ʻōnaehana i kēia mau hoʻololi, e kope iā lākou i ka puʻupuʻu mamao a hoʻomaka i ka kikowaena hoʻomohala, a laila e hōʻano hou i kā mākou noi ma ka polokalamu kele pūnaewele.

No ka hoʻopiha ʻana i ke kiʻi, e hōʻike kākou i ke ʻano o kēia mau kauoha holoʻokoʻa:

$ 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

ʻO ke kauoha kiaʻi he abstraction ma luna o ke kauoha oc rsync, hiki iā ʻoe ke aʻo hou e pili ana i ka hana maanei.

He laʻana kēia no React, akā hiki ke hoʻohana ʻia ke ʻano like me nā frameworks ʻē aʻe, e hoʻonohonoho wale i ka NPM_RUN environment variable e like me ka mea e pono ai.

Nā Paipa Openhift

Nā noi hou ma OpenShift, ʻāpana 3: OpenShift ma ke ʻano he wahi hoʻomohala a me OpenShift Pipelines

A laila e kamaʻilio mākou e pili ana i kahi hāmeʻa e like me OpenShift Pipelines a pehea e hiki ai ke hoʻohana ʻia ma ke ʻano he ʻokoʻa i nā kūkulu kaulahao.

He aha nā OpenShift Pipelines

ʻO OpenShift Pipelines kahi ʻōnaehana hoʻohui mau a me ka hoʻouna ʻana i ka ʻōnaehana ʻo CI/CD i hoʻolālā ʻia no ka hoʻonohonoho ʻana i nā pipeline me Tekton. ʻO Tekton kahi kumu hoʻoheheʻe ʻia ʻo Kubernetes-native CI/CD framework e hiki ai iā ʻoe ke hoʻokaʻawale i ka hoʻolalelale ʻana ma nā pae like ʻole (Kubernetes, serverless, virtual machines, etc.) ma ka unuhi ʻana mai ka papa lalo.

Pono ka hoʻomaopopo ʻana i kēia ʻatikala i kekahi ʻike o Pipelines, no laila ke paipai nui nei mākou e heluhelu mua ʻoe puke haʻawina kūhelu.

Hoʻonohonoho i kāu wahi hana

No ka pāʻani me nā hiʻohiʻona o kēia ʻatikala, pono ʻoe e hoʻomākaukau i kāu wahi hana:

  1. E hoʻouka a hoʻonohonoho i kahi puʻupuʻu OpenShift 4. Hoʻohana kā mākou mau hiʻohiʻona i nā CodeReady Containers (CRD) no kēia, hiki ke loaʻa nā ʻōkuhi hoʻonohonoho. maanei.
  2. Ma hope o ka mākaukau ʻana o ka hui, pono ʻoe e hoʻokomo i ka Pipeline Operator ma luna. Mai makaʻu, he maʻalahi, nā kuhikuhi hoʻonohonoho maanei.
  3. Download Tekton CLI (tkn) maanei.
  4. E holo i ka mea hana laina kauoha create-react-app e hana i kahi noi āu e kau ai (he noi maʻalahi kēia. pane koke).
  5. (Kūpono) Hoʻopili i ka waihona e holo i ka noi laʻana ma ka wahi me ka npm install a laila hoʻomaka ka npm.

E loaʻa nō hoʻi i ka waihona palapala noi kahi waihona k8s, kahi e loaʻa ai nā Kubernetes/OpenShift YAML i hoʻohana ʻia e kau i ka noi. Aia nā hana, ClusterTasks, Resources and Pipelines a mākou e hana ai ma kēia hale waihona.

E hoʻomaka kākou

ʻO ka hana mua no kā mākou hiʻohiʻona e hana i kahi papahana hou i ka hui OpenShift. E kāhea kākou i kēia papahana webapp-pipeline a hana iā ia me kēia kauoha:

$ oc new-project webapp-pipeline

E hōʻike ʻia kēia inoa papahana ma ke code ma hope aku, no laila, inā hoʻoholo ʻoe e kapa iā ia i kahi mea ʻē aʻe, mai poina e hoʻoponopono i ke code laʻana e like me ia. E hoʻomaka ana mai kēia wahi, ʻaʻole mākou e hele i luna, akā i lalo i luna: ʻo ia hoʻi, e hana mua mākou i nā ʻāpana āpau o ka conveyor, a laila ʻo ka conveyor ponoʻī.

No laila, ʻo ka mea mua ...

Nā hana

E hana mākou i ʻelua mau hana, a laila e kōkua i ka hoʻopili ʻana i ka noi i loko o kā mākou pipeline. ʻO ka hana mua - apply_manifests_task - ke kuleana no ka hoʻohana ʻana i ka YAML o kēlā mau kumuwaiwai Kubernetes (lawelawe, hoʻolaha a me ke ala) aia ma ka waihona k8s o kā mākou noi. ʻO ka hana ʻelua - update_deployment_task - ke kuleana no ka hoʻonui ʻana i kahi kiʻi i kau ʻia i ka mea i hana ʻia e kā mākou pipeline.

Mai hopohopo inā ʻaʻole maopopo loa. ʻO ka ʻoiaʻiʻo, ʻo kēia mau hana he mea like ia me nā pono hana, a e nānā mākou iā lākou i nā kikoʻī hou aku ma hope. I kēia manawa, e hana kākou iā lākou:

$ 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

A laila, me ka hoʻohana ʻana i ke kauoha tkn CLI, e nānā mākou ua hana ʻia nā hana:

$ tkn task ls

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

Nānā: He mau hana kūloko kēia no kāu papahana o kēia manawa.

Nā hana pūʻulu

ʻO nā hana puʻupuʻu e like me nā hana maʻalahi. ʻO ia hoʻi, he hōʻiliʻili hoʻohana hou ia o nā ʻanuʻu i hui pū ʻia ma kekahi ala a i ʻole ke holo ʻana i kahi hana kikoʻī. ʻO ka ʻokoʻa, aia kahi hana puʻupuʻu i nā wahi āpau i loko o ka pūʻulu. No ka ʻike ʻana i ka papa inoa o nā hana cluster i hana ʻia i ka wā e hoʻohui ai i ka Pipeline Operator, e hoʻohana hou mākou i ke kauoha 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

I kēia manawa e hana mākou i ʻelua mau hana cluster. ʻO ka mea mua e hoʻopuka i ke kiʻi S2I a hoʻouna iā ia i ka papa inoa OpenShift kūloko; ʻO ka lua o ke kūkulu ʻana i kā mākou kiʻi ma muli o NGINX, me ka hoʻohana ʻana i ka noi a mākou i kūkulu ai ma ke ʻano he ʻike.

Hana a hoʻouna i ke kiʻi

I ka hana ʻana i ka hana mua, e hana hou mākou i ka mea a mākou i hana ai ma ka ʻatikala mua e pili ana i nā hui pili. E hoʻomanaʻo ua hoʻohana mākou i ke kiʻi S2I (ubi8-s2i-web-app) e "kūkulu" i kā mākou noi, a hoʻopau ʻia me kahi kiʻi i mālama ʻia i loko o ka papa inoa kūloko OpenShift. I kēia manawa e hoʻohana mākou i kēia kiʻi kiʻi pūnaewele S2I e hana i kahi DockerFile no kā mākou app a laila hoʻohana iā Buildah e hana i ka hana maoli a paʻi i ke kiʻi hopena i ka OpenShift internal registry, ʻoiai ʻo ia ka mea a OpenShift e hana ai ke kau ʻoe i kāu mau noi me ka hoʻohana ʻana iā NodeShift. .

Pehea mākou i ʻike ai i kēia mau mea, ke nīnau nei ʻoe? Mai mana mana o Node.js mana, ua kope wale mākou a hoʻololi iā mākou iho.

No laila, e hana kākou i ka s2i-web-app cluster task:

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

ʻAʻole mākou e hoʻopaʻa kikoʻī i kēia, akā e nānā wale i ka ʻāpana OUTPUT_DIR:

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

Ma ka maʻamau, ua like kēia ʻāpana me ke kūkulu ʻana, kahi e waiho ai ʻo React i ka ʻikepili i hui ʻia. Hoʻohana nā papa hana ʻē aʻe i nā ala like ʻole, no ka laʻana, ma Ember he dist. ʻO ka hoʻopuka o kā mākou hana hui mua he kiʻi i loaʻa ka HTML, JavaScript, a me CSS a mākou i hōʻiliʻili ai.

E kūkulu i kiʻi ma muli o NGINX

ʻO kā mākou hana puʻupuʻu ʻelua, pono ia e kūkulu i kahi kiʻi NGINX no mākou, me ka hoʻohana ʻana i ka ʻike o ka noi a mākou i kūkulu ai. ʻO ka mea nui, ʻo kēia ka ʻāpana o ka pauku mua kahi i nānā ai mākou i nā kūkulu kaulahao.

No ka hana ʻana i kēia, mākou - e like me ka mea ma luna - e hana i kahi hana cluster webapp-build-runtime:

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

Inā ʻoe e nānā i ke code no kēia mau hana puʻupuʻu, ʻike ʻoe ʻaʻole ia e kuhikuhi i ka waihona Git a mākou e hana nei a i ʻole nā ​​inoa o nā kiʻi a mākou e hana nei. Hōʻike wale mākou i ka mea a mākou e neʻe nei iā Git, a i ʻole kekahi kiʻi kahi e hoʻopuka ai ke kiʻi hope. ʻO ia ke kumu e hiki ai ke hoʻohana hou ʻia kēia mau hana cluster i ka wā e hana pū ai me nā noi ʻē aʻe.

A eia mākou me ka lokomaikaʻi e neʻe aku i kahi aʻe ...

Nā Punawai

No laila, no ka mea, e like me kā mākou i ʻōlelo ai, pono nā hana cluster e like me ka mea hiki, pono mākou e hana i nā kumuwaiwai e hoʻohana ʻia e like me ka hoʻokomo (ka waihona Git) a me ka puka (nā kiʻi hope). ʻO ka punawai mua a mākou e pono ai ʻo Git, kahi e noho ai kā mākou noi, e like me kēia:

# 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

Eia ʻo PipelineResource o ke ʻano git. ʻO ke kī url ma ka ʻāpana params e kuhikuhi ana i kahi waihona kikoʻī a kuhikuhi i ka lālā kumu (he koho kēia, akā kākau mākou no ka hoʻopiha ʻana).

I kēia manawa pono mākou e hana i kahi kumuwaiwai no ke kiʻi kahi e mālama ʻia ai nā hopena o ka hana s2i-web-app, hana ʻia e like me kēia:

# 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

Eia ka PipelineResource o ke ʻano kiʻi, a ʻo ka waiwai o ka ʻāpana url e kuhikuhi ana i ka OpenShift Image Registry i loko, ʻo ia hoʻi ka mea i loaʻa ma ka webapp-pipeline namespace. Mai poina e hoʻololi i kēia hoʻonohonoho inā hoʻohana ʻoe i kahi inoa inoa ʻē aʻe.

A ʻo ka mea hope loa, ʻo ka punawai hope loa e pono ai mākou he kiʻi ʻano ʻano a ʻo ia ke kiʻi NGINX hope loa e hoʻohana ʻia i ka wā o ka hoʻolālā ʻana:

# 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

Eia hou, e hoʻomanaʻo e mālama kēia kumuwaiwai i ke kiʻi i loko o ka waihona OpenShift kūloko ma ka webapp-pipeline namespace.

No ka hana ʻana i kēia mau kumuwaiwai i ka manawa hoʻokahi, hoʻohana mākou i ke kauoha hana:

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

Hiki iā ʻoe ke hōʻoia ua hana ʻia nā kumuwaiwai e like me kēia:

$ tkn resource ls

Paipu hoʻolele

I kēia manawa ua loaʻa iā mākou nā mea pono a pau, e hōʻuluʻulu mākou i kahi pipeline mai lākou ma ka hana ʻana me kēia kauoha:

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

Ma mua o ka holo ʻana i kēia kauoha, e nānā kākou i kēia mau ʻāpana. ʻO ka inoa mua:

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

A laila ma ka ʻāpana kikoʻī ʻike mākou i kahi hōʻailona o nā kumuwaiwai a mākou i hana ai ma mua:

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

A laila hana mākou i nā hana e pono ai kā mākou pipeline e hoʻopau. ʻO ka mea mua, pono ia e hoʻokō i ka hana s2i-web-app a mākou i hana ai:

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

Lawe kēia hana i nā ʻāpana hoʻokomo (gir resource) a me ka hoʻopuka (built-web-application-image resource). Hāʻawi pū mākou iā ia i kahi ʻāpana kūikawā i ʻole ia e hōʻoia i ka TLS no ka mea ke hoʻohana nei mākou i nā palapala hōʻoia ponoʻī:

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

Aneane like ka hana aʻe, eia wale nō ke kapa ʻia ʻo ka webapp-build-runtime cluster task a mākou i hana ai:

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

E like me ka hana ma mua, hele mākou i kahi kumuwaiwai, akā i kēia manawa ua kūkulu ʻia-web-application-image (ka hopena o kā mākou hana mua). A ma ke ʻano he hoʻopuka hoʻonohonoho hou mākou i ke kiʻi. No ka mea pono e hoʻokō ʻia kēia hana ma hope o ka mea ma mua, hoʻohui mākou i ke kahua 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

ʻO nā hana ʻelua e hiki mai ana ke kuleana no ka hoʻohana ʻana i ka lawelawe, ke ala a me ka waiho ʻana i nā faila YAML e noho nei ma ka papa kuhikuhi k8s o kā mākou noi pūnaewele, a no ka hoʻonui ʻana i kēia hoʻolālā i ka wā e hana ana i nā kiʻi hou. Ua wehewehe mākou i kēia mau hana cluster ʻelua ma ka hoʻomaka o ka ʻatikala.

Hoʻomaka i ka conveyor

No laila, hana ʻia nā ʻāpana āpau o kā mākou pipeline, a e holo mākou me kēia kauoha:

$ tkn pipeline start build-and-deploy-react

I kēia manawa, hoʻohana ʻia ka laina kauoha a pono ʻoe e koho i nā kumuwaiwai kūpono i ka pane ʻana i kēlā me kēia o kāna mau noi: no ka punawai git, koho i ka web-application-repo, a laila no ka punawai kiʻi mua, built-web-application. -kiʻi, a me ka hope, no ke kiʻi kiʻi lua –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

I kēia manawa, e nānā kākou i ke kūlana o ka pipeline me ka hoʻohana ʻana i kēia kauoha:

$ tkn pipeline logs -f

I ka manawa i hoʻomaka ai ka pipeline a ua kau ʻia ka noi, hiki iā mākou ke noi i ke ala i paʻi ʻia me kēia kauoha:

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

No ka ʻike nui aku, hiki iā ʻoe ke nānā i kā mākou pipeline ma ke ʻano Developer mode o ka console pūnaewele ma ka ʻāpana ʻO Pipelines, e like me ka hoikeia ma ka Fig. 1.

Nā noi hou ma OpenShift, ʻāpana 3: OpenShift ma ke ʻano he wahi hoʻomohala a me OpenShift Pipelines

Fig.1. Ka nānā ʻana i nā paipu holo.

Ke kaomi ʻana i kahi pipeline holo e hōʻike i nā kikoʻī hou aku, e like me ka hōʻike ʻana ma ke Kiʻi 2.

Nā noi hou ma OpenShift, ʻāpana 3: OpenShift ma ke ʻano he wahi hoʻomohala a me OpenShift Pipelines

Laiki. 2. Nā ʻike hou aku e pili ana i ka pipeline.

Ma hope o ka ʻike hou aku, hiki iā ʻoe ke ʻike i ka holo ʻana o nā noi ma ka ʻike Hoʻoponopono, e like me ka hoikeia ma ka Fig.3.

Nā noi hou ma OpenShift, ʻāpana 3: OpenShift ma ke ʻano he wahi hoʻomohala a me OpenShift Pipelines

Fig 3. Launched pod.

Ke kaomi ʻana i ka pōʻai ma ka ʻaoʻao ʻākau ʻākau o ka ikona e wehe i kā mākou noi, e like me ka hōʻike ʻana ma ke kiʻi 4.

Nā noi hou ma OpenShift, ʻāpana 3: OpenShift ma ke ʻano he wahi hoʻomohala a me OpenShift Pipelines

Laiki. 4. Holoi React palapala noi.

hopena

No laila, ua hōʻike mākou pehea e holo ai i kahi kikowaena hoʻomohala no kāu noi ma OpenShift a hoʻonohonoho pū me ia me ka ʻōnaehana faila kūloko. Ua nānā pū mākou i ke ʻano o ka hoʻohālikelike ʻana i kahi hoʻohālike i kūkulu ʻia me ka hoʻohana ʻana i OpenShift Pipelines. Hiki ke loaʻa nā code laʻana a pau mai kēia ʻatikala maanei.

Nā kumuwaiwai hou aku (EN)

Nā hoʻolaha o nā webinars e hiki mai ana

Ke hoʻomaka nei mākou i kahi ʻano o nā webinars Pōʻalima e pili ana i ka ʻike maoli me ka hoʻohana ʻana iā Red Hat OpenShift Container Platform a me Kubernetes:

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka