á°áá á áá áĽáá áá áá áá! áááá á¨áἠá áááŹá˝áá˝á á Red Hat OpenShift áá áĽáá´áľ áá°ááŤáľ áĽáá°áá˝á á¨áááłáá áľ á°á¨áłáłá ááĽá áá áśáľá°áá ááá˘
áŁáááľ áááľ á˝ááá˝áŁ áááá á¨áľá á áááŹá˝áá˝á á áĽááľ áĽááááá˝ áĽáá´áľ áá°ááŤáľ áĽáá°ááťá áĽá á á˛áľ á¨S2I ááľáá áĽáá´áľ áá áá áĽáá°ááťá ááľá á¨á°á°áŤ á¨á¤á˝á˛á˛á á áááá ááľá áá áááłá NGINX á¨áááľ áá°ááŤáľá ááá°áŤááľ á á°áá°ááľ á¨á°á°áŠ áááŁáłáá˝á á áá áá á˝áá á°áĽá°ááá˘
áᏠááá°áá áŞáŤá á¨ááᢠá áááá á OpenShift ááľá¨á áá áĽáá´áľ áĽáá°áááľáŹáľ áĽá á¨á áŤáŁá˘á á¨ááá áľáááľ áá áááłá°áá áĽááłáŤáá áĽáá˛áá áľá OpenShift Pipelines áá áĽáá°áá áĽá á¨á°ááá áľáĽá°áŁáá˝ áĽáá´áľ áĽáá° á ááŤá áĽáá°áá áá áĽáááááŤáá á˘
OpenShift áĽáá° áááľ á áŤáŁá˘
á¨áááľ á¨áľáŤ áá°áľ
áá°á á˛á áĽáá°á°áááá
á á áĽááááš áááá ááááá˝ ááľáĽ áĽáá°áá áŤá "á¨áááľ á áááá" á á°áá˘á á¨áľáĽáá ááľáá ááłáŞáŤáá˝ ááľáĽ á°áááĽáˇá.
á¨á áŤáŁá˘ ááłá
á ááááŞáŤ ᣠáá°áá áŞáŤáá˝á á á áá ááľáĽ á áááľ á¨ááľ áĽáá´áľ áĽáá°áá°áŤ áĽááᢠá ááľ áá°áá áŞáŤá áĽáá° ááłá áĽááá°áľá˘
áľááá
âá¨áááľ á ááááâá á áĽá React ááłá ááľáĽ ááááá á¨áá¨á°ááá áľááá áĽáá˝ááááĄ-
$ npm run start
á¨á፠á á°áááá ááľáŽáľ ááľáĽ áĽáá°áá áŤá ááá áĽááŤáá-
áĽá á¨áĽá áá°áá áŞáŤ á ááŁáŞ á áłá˝ ááľáĽ áá¨ááłá-
á áá, á ááá áá áááŚá˝á áŤá°á¨áá, á áááŹá˝á á á áłáš ááľáĽ áá°áľ á áá áľ.
áĽáşáŁ á á áŤáŁá˘áŤá áááł á¨áááľ áá ááá ááá ááá ááᣠáá á OpenShift áá á°ááłáłá ááá áĽáá´áľ ááááľ áĽáá°ááťá?
á OpenShift áá á¨áááľ á áááá
ááľáĽ áŤáľáłááą
ááá áá, á áá
áĽáá á¨á°ááá¨áą
áááłáᣠá¨áĽáá áá°áá áŞáŤ ááá°ááŤáľ ᨠnodeshift áááá áá áá áĽáá˝ááááĄ-
$ npx nodeshift --deploy.env NPM_RUN="yarn start" --dockerImage=nodeshift/ubi8-s2i-web-app
ááłá°á˘áŤáĄ- á¨áá áŤáá ááłá á á áááŠá ááłáĄá áááłá¨áľ á á á á˝áŽá° áá ááá˘
áĽáá ᣠá¨NPM_RUN á áŤáŁá˘ á°áááá áá° áá°ááŤáłá˝á á¨áá¨áááᣠáá á á¨áŠáŤ áááá á¨áá ááľáááŞáŤ áľáááá áĽáá˛áŤáľáŹáľ áááá¨ááᣠáá á á áĽá OpenShift ááľ ááľáĽ á¨React áááľ á áááá ááááŤáá˘
á¨áŠáŤ ááľ áááἠááľáłááťá á¨á°ááá¨áą ᣠáĽáá°áá áŤá ááá áááŤá á˘
á áĽááἠáá áá á¨á áŤáŁá˘áá áŽáľ á¨áŽáą áá áĽáľááááłá°á áľá¨áľ ááá á áááá, áĽáąá ááááŚá˝ ááĽáĽá á¨áá°á¨áá áľ, áá á áŠá á áááá áá áááŤá.
á¨áááľ áĽá á¨á áŤáŁá˘ áŽáľ áááłá°á
áĽáá° áĽáľá ááᣠnodeshift á áááłá°á áá á ááá áá¨áł áá˝ááᣠáĽá áááŚá˝á ááá¨áłá°á á¨á°ááľ áľáááá áá áá áá˝ááá˘
áľááá ááá°áá áŞáŤá˝á á¨áááąá á áááá ááá°ááŤáľ áľáááá á¨á¨á¨áľá á áá áá áá áľááá á áĽááá áá áá áĽáá˝ááááĄ-
$ npx nodeshift watch
á áá ááááŤáľ áľáá˝ áá°á áĽá á¨áá ááá á¨áŠáŤ ááľ áá áááááľ ááá áŤáᣠá¨á áŤáŁá˘áŤá˝á áááá˝ á¨áááľ áááľá°á áá áááłá°á áĽáá˛á°áŤ áá°á¨ááᣠá á áŤáŁá˘áŤá˝á áŤá áááá˝á áááŚá˝á áá¨áłá°á ááááŤáá˘
áľááá á áá á¨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
á¨á°ááľ áľááá á oc rsync áľáĽáá áá á áá ááá፠ááᣠáá
áĽáá´áľ áĽáá°áá°áŤ á¨á áá ááá
áá˝ááá˘
áá
áReact ááłá áá áᣠááá áá á°ááłáłá áá´ á¨ááá˝ ááááá˝ áá áá áá ááťááᣠáá áĽáá° á áľááááṠᨠNPM_RUN á áŤáŁá˘á á°áááá áŤáááá˘
â
áááľ á¨á§á᧠ááľááŽá˝
á ááá áᣠáĽáá° OpenShift Pipelines áľááá ááłáŞáŤ áĽá á á°áá°ááľ á¨á°áŤá áááŁáłáá˝ áĽáá´áľ áĽáá° á ááŤá áá áá áĽáá°ááťá áĽáááááŤááá˘
OpenShift Pipelines áááľá áá?
OpenShift Pipelines á´áá°áá á áá áá á áłáá áá á¨á°áá°á¨á° á¨á˛á áá¤/á˛á˛ ááŁáááľ áŤáá áá á°áľ áĽá á á ááŚáľ áľáááľ ááᢠá°áá°á áááľ áááᣠá°áááá á¨áŠá áááľáľ á¤á°á CI/á˛á˛ áááá á¨áľá áŤááá ááĽááĽá á ááŤá á á°ááŤáŠ ááľá¨áŽá˝ (Kubernetesᣠá áááá á ááŁáŁ á¨áášáá áá˝áá˝áŁááá°) áá á áŤáľ á°á á¨áá°áŤ ááá˘
áá
áá á˝áá ááá¨áłáľ á¨á§á᧠ááľááŽá˝ á¨á°áá°á áĽáááľá áá ááá, áľááá
á ááááŞáŤ áĽáá˛áŤáᥠá á áá¨á áĽááááááłáá
á¨áĽáŤ á áŤáŁá˘á áááááľ
á áá á˝áá ááľáĽ áŤá ááłááá˝ áá áááŤááľ á ááááŞáŤ á¨áĽáŤ á áŤáŁá˘á áááááľ áŤáľáááááłá-
- á¨OpenShift 4 áááľá°áá áŤá áĽá á áá
áá˘á¨áĽá ááłááá˝ CodeReady Containers (CRD)á áĽáá áááááŁá¨ááŤá áááŞáŤáá˝
áĽáá . - áááľá°á á¨á°ááá á áá á¨ááááá áŚááŹá°áá á áአáá ááŤá áŤáľáááááłá. á áľááŠ, ááá áá, á¨ááŤá áááŞáŤáá˝
áĽáá . - á áááľ
Tekton CLI (tkn)áĽáá . - á¨á፠á¨áá°á፠áá°áá áŞáŤ áááá á á¨áá á-react-app áľááá ááľáá ááłáŞáŤáá áŤááą (áá
ááá áá°áá áŞáŤ áá)
ááá˝ ). - (á ááŤá) á¨ááá áá°áá áŞáŤáá á npm á ááŤá áĽá á¨á፠npm ááááá áá¨ááťáá áááá˘
á¨áá°áá áŞáŤá áá¨ááť á¨k8s áá
á°á ááá¨ááᣠáĽáąá áá°áá áŞáŤáá ááá°ááŤáľ á¨ááŤáááááľá Kubernetes/OpenShift YAMLs ááááᢠá áá
ááľáĽ á¨ááááĽáŤá¸á á°ááŁáŤáľáŁ áááľá°á á°ááŁáŤáľáŁ ááĽááśá˝ áĽá á¨á§á᧠ááľááŽá˝ áááŤá
áĽáá° áááá
á¨á ááłá á¨ááááŞáŤá áĽááá á OpenShift áááľá°á ááľáĽ á á˛áľ ááŽáááľ ááá á ááᢠáá áá ááŽáááľ webapp-pipeline áĽáá°ááá áĽá á áá¨á°áá áľááá áĽáááĽá¨ááĄ-
$ oc new-project webapp-pipeline
á áá, áá á¨ááŽáááľ áľá á áŽáą ááľáĽ ááłáŤá, áľááá áá ááá ááá°á¨á á¨áá°á, á áá áá°á¨áľ áŽáąá á¨ááłááá˝ áááľáá á áááą. á¨áá ááĽáĽ áááŽ, á¨áá áá° áłá˝ á áááľá, ááá áá á¨áłá˝ áá° áá: áááľá, á ááááŞáŤ áááá á¨áĽá áááᣠáááá˝á áĽáááĽáŤáá, áĽá á¨á፠á áá áĽáŤáą áĽáť áá.
áľááá á ááááŞáŤâŚ
á°ááŁáŤáľ
áááľ á°ááŁáŤáľá (á°ááŁáŤáľá) áĽááá á, á¨ááŤá áááá¨áťáá á áĽá á¨á§á᧠ááľáá ááľáĽ ááá°ááŤáľ áá¨áłá. á¨ááááŞáŤá á°ááŁá apply_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 áááἠáááááľ áĽáá áááá ááááŤáąá OpenShift ádeShiftá á°á á áá á áááŹá˝áá˝áá á˛áŤá°áአá¨ááŤá°ááá áá ááá˘
áá
á áá áĽáá´áľ áĽááááá á áá° áľá áááá
? á¨
áľááá ᣠá áá á¨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 áá á¨á°áá°á¨á° ááľá ááááŁáá áááŁáᢠá áĽááἠáá á á°áá°ááľ á¨áłá°áŠ áááŁáłáá˝á á¨á°ááá¨áľáá áľ á¨áá°áá ááá ááá ááá˘
áá áá áááľá¨áᣠáĽá - áá áĽáá° áľáá˝ á¨áá - á¨áľá áá°áá áŞáŤ-áááŁáł-á ááľ áá áááľá°á á°ááŁá áĽáááĽáŤáááĄ-
$ oc create -f https://raw.githubusercontent.com/nodeshift/webapp-pipeline-tutorial/master/clustertasks/webapp-build-runtime-task.yaml
á¨áĽááá á¨áááľá°á áľáŤáá˝ áŽáľ á¨á°ááá¨áąáŁ á¨ááá°áŤáá ᨠ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 á áááľ ááᢠá ááŤá ááá ááľáĽ áŤáá á¨áŠ á á á¤á ááá áá° á ááľ á¨á°áá°á áá¨ááť áá ááá áĽá áááá á áááŤá áŤáááá (áá áĽáá° á ááŤá áá, áá áá ááá áĽáá˝ááá).
á áá ᨠ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
áĽáá ᣠá¨ááááá áŞáśááľ á¨ááľá á áááľ ááᣠáĽá á¨áŠá áá¤á áááŞáŤá áá áá° ááľáŁá á¨OpenShift Image áááἠá¤áľ áá áááᣠá á°ááá á áἠá á-á§á᧠ááľáá ááľáĽ áŤáááᢠá¨á°áᨠá¨áľá áŚáł áĽá¨á°á áá á¨áá áá á á ááĽá ááá¨ááá áŤáľáłááąá˘
áĽá á áá¨á¨áťá ᣠáĽá á¨áááááá á¨áá¨á¨áťá ááá áĽáá˛á á¨ááľá á áááľ áááá ᣠáĽá áá á¨áá¨á¨áťá ᨠ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
á áľááᣠáá ááĽáľ ááľáá á ááĽá á-á§á᧠ááľáá á¨áľá áŚáł ááľáĽ á ááľáĽ á¨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) áĽá áá ááľ (á¨á°á°áŤ á¨áľá-áá°áá áŞáŤ-ááľá ááá) áááŞáŤáá˝á áááľáłáᢠá áŤáľ á¨á°áá¨á á¨ááľáá áá¨ááśá˝á áĽá¨á°á ááá áľááá TLSá áĽááłáŤá¨ááἠáአáááŞáŤ áĽááľá°áááááá˘
resources:
inputs:
- name: source
resource: web-application-repo
outputs:
- name: image
resource: built-web-application-image
params:
- name: TLSVERIFY
value: "false"
ááŁáŠ á°ááŁá á¨áá áá°á á°ááłáłá ááᣠáĽá á áľááľáá á¨áá ááá á¨ááĽá á-áááŁáł-á ááľ áá áááľá°á á°ááŁá áĽáť áĽáá ááŁááá˘
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
á áá áá á¨áľáĽáá ááľáአá ááá°ááá áĽá á áá áááá áĽá ááĽáŤááłááłá¸á áĽáŤáá ááá˝ áááľá áľ á°áá˘á ááĽáśá˝ ááá¨áĽ á ááŁá¸á-áááľ áŞáśááľ ááĽ-áá°áá áŞáŤ-áŞáá ááá¨áĄ ᣠá¨á፠áááááŞáŤá á¨ááľá ááá ᣠá¨á°á°áŤ-áľá-áá°áá áŞáŤ- ááľáᣠáĽá á áá¨á¨áťá áááá°á á¨ááľá ááĽá áľ -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.
ááľá.1. á¨á§á᧠ááľááŽá˝ á á ááá áĽááł.
á áľáĽá 2 áĽáá°ááłá¨á á¨ááŽáĽ á§á᧠áá á á ááľá¨á á°á¨á᪠ááááŽá˝á áŤáłáŤáá˘
áŠá. 2. áľá ááááŁá á°á¨á᪠áá¨á.
á¨á°á¨á᪠ááááŽá˝ á áá á áĽááł ááľáĽ áŤááľá á ááľ áá°áá áŞáŤáá˝ áá¨áľ áá˝ááᢠáśááá, á áľáĽá 3 áá áĽáá°ááłá¨á.
ááľá 3. á¨áŠáŤ ááľ.
á á áśá á¨áááá áá áĽá áá áŤááá áá ἠá á ááľá¨á á áľáĽá 4 áĽáá°ááłá¨á á¨áĽáá áá°áá áŞáŤ áá¨ááłá.
áŠá. 4. á¨áá°áŤ React áá°áá áŞáŤá˘
áá°áá°ááŤ
áľááá
ᣠááá°áá áŞáŤá áĽáá´áľ á¨ááᢠá áááá á OpenShift áá ááľáŹáľ áĽá á¨á áŤáŁá˘á á¨ááá áľáááľ áá áĽáá°ááŤááłáľáá á áłáá°ááᢠáĽáá˛áá OpenShift Pipelinesá á áá áá á á°áá°ááľ á¨á°á°áŤ á áĽááľ áĽáá´áľ áĽáá°áááľá á°áááá°ááᢠááá á¨áá
á˝áá ááłá áŽáśá˝ ááá áá˝ááá˘
á°á¨á᪠ááááá˝
- áá á˘-áá˝áá
"OpenShift Development: áľáááľáľ áááá¸á á°áá˝ áááŞáŤ" Containerized Node.js á áááŹá˝áá˝á ááááŁáľ Red Hat OpenShift Application Runtimes áĽá Istioá á áá áá Node.js áá°áá áŞáŤáá˝á á OpenShift á Chrome DevTools áá¨á á¨áŁáś á OpenShift áá á¤ááľáá¨áľá ááááŁá á áśáľáľ áľáááὠᨠNode.js ááá áľáŞáľ áĽáá° á¨áá áŽá፠OpenShift áá°áá áŞáŤ Runtimes á áŤá ááľáłáá፠á OpenShift áá Node.js áá°áá áŞáŤáá˝á á¨ááŽáá˛á¨áľ áá áá¨áłá°á - ááá˝ á˝ááá˝ á áá°áá
OpenShift áĽá Kubernetes á áá áŽá፠áľá ᨠáá˝ áá
áľá á᪠ááĽááŽá˝ ááľáłáááŤáá˝
á¨áá áŽá፠áááľáşááľ áŽáá´ááá ááľá¨áá áĽá áŠá áááľáľá áľááá áá áľááá áá áááľ á°á¨áłáłá á áἠááĽááŽá˝á áĽááááŤáááĄ
áŚááľáľ 28ᣠáá˘áá ááá áááĽáľ âáŚááŹá°áâᥠáŚááŹá°áŽá˝ á OpenShift áĽá Kubernetes á´áá´áá á 11ᣠDeploymentConfig vs Deployment - OpenShift-Specific Magic áá°áá áŞáŤáá˝á áááááŁáľ áĽá ááá°ááŤáľ á´áá´áá á 25ᣠRed Hat OpenShift áĽá Machine API áĽá ááľ 9, á¨áĽáŤ áŤá ááľáĽ áľááá°á áá¨áá áĽáá´áľ áááá áĽáá°ááťá áŚááśá á 23ᣠá¨á°á¨á°á° áááŞááľáŁ á¨á§á᧠ááľáá áááŁáłáá˝áŁ á´áá°á á áá áŽá፠OpenShift áŽáá´ááá ááľá¨á áá
ááá: hab.com