เบชเบฐเบเบฒเบเบเบตเบเบธเบเบเบปเบเปเบ blog เบเบตเป! เบเบตเปเปเบกเปเบเบเบฒเบเบเบญเบเบเบตเบชเบฒเบกเปเบเบเบธเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบฐเปเบเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเปเบเปเปเบงเบฑเบเบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเปเบ Red Hat OpenShift.
เปเบเบชเบญเบเบเปเปเบเบงเบฒเบกเบเบตเปเบเปเบฒเบเบกเบฒ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบชเบฐเปเบเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบงเบฑเบเบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเปเบเบชเบญเบเบชเบฒเบกเบเบฑเปเบเบเบญเบเปเบฅเบฐเบงเบดเบเบตเบเบฒเบเบเปเบฒเปเบเปเบฎเบนเบเบเบฒเบ S2I เปเบซเบกเปเบเปเบญเบกเบเบฑเบเบฎเบนเบเบเบฒเบ HTTP เบญเบญเบเบเบฒเบเบเบฑเปเบเบงเบฒเบเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ, เปเบเบฑเปเบ NGINX, เบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบชเปเบฒเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเปเบเบทเปเบญเบเบฑเบเบเบฑเปเบเบเบฒเบเบเบฐเบฅเบดเบเบเบฒเบเบเบฐเบฅเบดเบ. .
เบกเบทเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบฐเปเบเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบตเบเปเบงเบตเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเปเบฒเบเปเบเปเบงเบเบต OpenShift เปเบฅเบฐ synchronize เบกเบฑเบเบเบฑเบเบฅเบฐเบเบปเบเปเบเบฅเปเบเปเบญเบเบเบดเปเบ, เปเบฅเบฐเบเบฑเบเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบ OpenShift Pipelines เปเบกเปเบเบซเบเบฑเบเปเบฅเบฐเบงเบดเบเบตเบเบฒเบเบเบตเปเบเบงเบเปเบเบปเบฒเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเปเบเบเบฒเบเบเบฐเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ.
OpenShift เปเบเบฑเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเบฑเบเบเบฐเบเบฒ
เบเบฐเบเบงเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ
เบเบฑเปเบเบเบตเปเปเบเปเบเปเบฒเบงเปเบฅเปเบงเปเบ
เปเบเบเบญเบเบเบตเปเบเบฑเบเบชเบฐเปเบซเบกเบเบตเปเบชเบธเบ, เบเบฑเปเบเบเปเบฒเบง "เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ" เบเบทเบเบชเปเบฒเบเบเบถเปเบเปเบเปเบเบทเปเบญเบเบกเบทเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบ.
เบเบปเบงเบขเปเบฒเบเบเปเบญเบเบเบดเปเบ
เบเปเบฒเบญเบดเบ, เปเบซเปเปเบเบดเปเบเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบตเปเปเบเปเบงเบฅเบฒเบเบตเปเปเบฅเปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเบเปเบญเบเบเบดเปเบ. เปเบซเปเปเบญเบปเบฒเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเบฑเบเบเบปเบงเบขเปเบฒเบ
เบเบฑเปเบเบเบฑเปเบ, เปเบเบทเปเบญเปเบฅเบตเปเบกเบเบปเปเบ "dev server" เปเบเบเบปเบงเบขเปเบฒเบ React เบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบชเปเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
$ npm run start
เบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโ, เปเบโเบเปเบญเบโเบขเปเบฝเบก terminal เบเบงเบโเปเบฎเบปเบฒโเบเบฐโเปเบซเบฑเบโเบเบฒเบโเบชเบดเปเบโเบเบฒเบโเบขเปเบฒเบโเปเบเบฑเปเบโเบเบตเปโ:
เปเบฅเบฐเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบตเบเบขเบนเปเปเบเบเบปเบงเบเปเบญเบเปเบงเบฑเบเปเบฅเบตเปเบกเบเบปเปเบ:
เปเบเบเบฑเบเบเบธเบเบฑเบ, เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบฝเบเปเบเบเปเบเบฅเป, เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบงเบเบเบฑเบเบเบธเบเปเบเบเบปเบงเบเปเบญเบเปเบงเบฑเบ.
เบเบปเบเบฅเบปเบ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเบฐเปเบเปเบเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบเปเบซเบกเบเบเปเบญเบเบเบดเปเบ, เปเบเปเบงเบดเบเบตเบเบฒเบเบเบฑเบเบฅเบธเบเบฝเบงเบเบฑเบเปเบ OpenShift?
เปเบเบตเบเปเบงเบตเบเบฑเบเบเบฐเบเบฒเปเบ OpenShift
เบเปเบฒเบเปเบฒเบเบเบทเป, เปเบ
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเปเบฒเบเปเบฒเบเปเบเบดเปเบเปเบเปเบเบดเบ
เบเบปเบงเบขเปเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเปเปเบกเบเบนเบ nodeshift เปเบเบทเปเบญเบเบณเปเบเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ:
$ npx nodeshift --deploy.env NPM_RUN="yarn start" --dockerImage=nodeshift/ubi8-s2i-web-app
เบซเบกเบฒเบเปเบซเบ: เบเบปเบงเบขเปเบฒเบเบเปเบฒเบเปเบเบดเบเบเบตเปเปเบกเปเบเบซเบเปเปเปเบเบทเปเบญเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบปเปเบงเปเบ.
เปเบเบเบตเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบเบตเปเบกเบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก NPM_RUN เปเบซเปเบเบฑเบเบเบฒเบเปเบเปเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เปเบเบดเปเบเบเบญเบเปเบงเบฅเบฒเปเบฅเปเบเปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเปเบฅเบตเปเบกเบเบปเปเบเปเบชเบฑเปเบเบเปเบฒเบ, เปเบเบดเปเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเบตเบเปเบงเบต React เบเบฑเบเบเบฐเบเบฒเบเบฒเบเปเบ OpenShift pod เบเบญเบเบเบงเบเปเบฎเบปเบฒ.
เบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเปเบฒเบโเปเบเบดเปเบโเปเบกเปโเบขเบทเบโเบเบปเปเบโเบเบญเบโเบเบฒเบโเปเบฅเปเบโ, เบกเบฑเบโเบเบฐโเบกเบตโเบฅเบฑเบโเบชเบฐโเบเบฐโเบเบฑเปเบโเบเบตเปโ:
เปเบเปเบเบญเบ, เบเบฑเบเบซเบกเบปเบเบเบตเปเบเบฐเบเปเปเบกเบตเบซเบเบฑเบเบเบปเบเบเปเบงเบฒเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบ synchronize เบฅเบฐเบซเบฑเบเบเปเบญเบเบเบดเปเบเบเบฑเบเบฅเบฐเบซเบฑเบ, เปเบเบดเปเบเบเบฑเบเบเบดเบเบเบฒเบกเบเบฒเบเบเปเบฝเบเปเบเบ, เปเบเปเบญเบฒเปเบชเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบซเปเบฒเบเปเบเบชเบญเบเบซเบผเบตเบ.
เบเบฒเบเบเบดเบเปเบเบฃเปเบเปเบฅเบเบฐเปเบ เปเบฅเบฐเบฅเบฐเบซเบฑเบเบเปเบญเบเบเบดเปเบ
เปเบเบเบเบต, nodeshift เบชเบฒเบกเบฒเบเบเปเบงเบเปเบเบเบฒเบ synchronization เปเบเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบ, เปเบฅเบฐเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบชเบฑเปเบ watch เปเบเบทเปเบญเบเบดเบเบเบฒเบกเบเบฒเบเบเปเบฝเบเปเบเบ.
เบเบฑเปเบเบเบฑเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเบตเปเบเบฐเบเปเบฒเปเบเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบชเบฑเปเบเบเบฑเปเบเบเปเปเปเบเบเบตเปเปเบเปเบขเปเบฒเบเบเบญเบเปเบ:
$ npx nodeshift watch
เบเบฑเปเบเบเบฑเปเบ, เบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฐเปเบเบตเบเบเบถเปเบเบเบฑเบ pod เปเบฅเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบเปเบญเบเบซเบเปเบฒเบเบตเปเปเบฅเบฑเบเบเปเบญเบ, เบเบฒเบ synchronization เบเบญเบเปเบเบฅเปเบเปเบญเบเบเบดเปเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฑเบ cluster เบซเปเบฒเบเปเบเบชเบญเบเบซเบผเบตเบเบเบฐเบเบทเบเปเบเบตเบเปเบเป, เปเบฅเบฐเปเบเบฅเปเปเบเบฅเบฐเบเบปเบเบเปเบญเบเบเบดเปเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฅเบตเปเบกเปเบเปเบฎเบฑเบเบเบฒเบเบเบดเบเบเบฒเบกเบเบฒเบเบเปเบฝเบเปเบเบ.
เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบธเบเปเบเบฅเป 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
เบเปเบฒเบชเบฑเปเบเปเบกเบเปเบกเปเบเปเบเบฑเบ abstraction เบขเบนเปเปเบเบดเบเบชเบธเบเบเบญเบเบเปเบฒเบชเบฑเปเบ oc rsync, เบเปเบฒเบเบชเบฒเบกเบฒเบเบฎเบฝเบเบฎเบนเปเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ.
เบเบตเปเปเบกเปเบเบเบปเบงเบขเปเบฒเบเบชเปเบฒเบฅเบฑเบ React, เปเบเปเบงเบดเบเบตเบเบฒเบเบเบฝเบงเบเบฑเบเบเบทเบเบฑเบเบญเปเบญเบเบเปเบญเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเบฑเบเบเบญเบเบญเบทเปเบเป, เบเบฝเบเปเบเปเบเปเบฒเบเบปเบเบเบปเบงเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก NPM_RUN เบเบฒเบกเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบ.
โ
Openshift Pipelines
เบเปเปเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเบเบเบฐเบเบฒเบเปเบฝเบงเบเบฑเบเปเบเบทเปเบญเบเบกเบทเปเบเบฑเปเบ OpenShift Pipelines เปเบฅเบฐเบงเบดเบเบตเบเบตเปเบกเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเปเบเปเปเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเป.
OpenShift Pipelines เปเบกเปเบเบซเบเบฑเบ
OpenShift Pipelines เปเบกเปเบเบฅเบฐเบเบปเบเบเบฒเบเบฅเบงเบกเปเบเบปเปเบฒเบเบฑเบเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบ CI/CD cloud-native CI/CD เบเบตเปเบญเบญเบเปเบเบเบกเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบงเบฒเบเบเปเปเปเบเบเปเบเป Tekton. Tekton เปเบเบฑเบเบเบญเบเปเบญเปเบเบเบเบญเบ Kubernetes-native CI/CD เบเบตเปเบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบเบเบตเปเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเปเบงเบเบตเบเปเบฒเบเป (Kubernetes, serverless, virtual machines, เปเบฅเบฐเบญเบทเปเบเป) เปเบเบเบซเบเปเปเบกเบฒเบเบฒเบเบเบฑเปเบเบเปเปเบกเบนเบเปเบเบทเปเบญเบเบเบปเปเบ.
เบเบงเบฒเบกเปเบเบปเปเบฒเปเบเปเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบเปเบญเบเบเบฒเบเบเบงเบฒเบกเบฎเบนเปเบเบฒเบเบขเปเบฒเบเบเปเบฝเบงเบเบฑเบ Pipelines, เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเปเบเบฐเบเปเบฒเปเบซเปเบเปเบฒเบเบญเปเบฒเบเบเปเบฒเบญเบดเบ
เบเบฒเบเบเบฑเปเบเบเปเบฒเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเปเบญเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบเปเบฒเบ
เปเบเบทเปเบญเบซเบผเบตเปเบเบเบฑเบเบเบปเบงเบขเปเบฒเบเปเบเบเบปเบเบเบงเบฒเบกเบเบตเป, เบเปเบญเบเบญเบทเปเบ เปเบปเบ เบเปเบฒเบเบเปเบญเบเบเบฐเบเบฝเบกเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบเปเบฒเบ:
- เบเบดเบเบเบฑเปเบ เปเบฅเบฐเบเบฑเปเบเบเปเบฒเบเบธเปเบก OpenShift 4. เบเบปเบงเบขเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเป CodeReady Containers (CRD) เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเป, เบเปเบฒเปเบเบฐเบเปเบฒเบเบฒเบเบเบดเบเบเบฑเปเบเบชเปเบฒเบฅเบฑเบเบชเบดเปเบเบเบตเปเบชเบฒเบกเบฒเบเบเบปเบเปเบเป.
เบเบตเปเบเบตเป . - เบซเบผเบฑเบเบเบฒเบ cluster เปเบกเปเบเบเบฝเบกเบเปเบญเบก, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเบเบเบฑเปเบ Pipeline Operator เปเบชเปเบกเบฑเบ. เบขเปเบฒเบขเปเบฒเบ, เบกเบฑเบเบเปเบฒเบ, เบเปเบฒเปเบเบฐเบเปเบฒเบเบฒเบเบเบดเบเบเบฑเปเบ
เบเบตเปเบเบตเป . - เบเบฒเบงเปเบซเบฅเบ
Tekton CLI (tkn)เบเบตเปเบเบตเป . - เปเบฅเปเบเปเบเบทเปเบญเบเบกเบทเบชเบฒเบเบเบณเบชเบฑเปเบ create-react-app เปเบเบทเปเบญเบชเปเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเปเบเบปเปเบฒเบเบฐเบเบณเปเบเป (เบเบตเปเปเบเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบตเปเบเปเบฒเบเบเบฒเบ
React ). - (เบเบฒเบเปเบฅเบทเบญเบ) Clone repository เปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบปเบงเบขเปเบฒเบเปเบเบเปเบญเบเบเบดเปเบเบเปเบงเบเบเบฒเบเบเบดเบเบเบฑเปเบ npm เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ npm เปเบฅเบตเปเบก.
เบเบฑเบเปเบเบฑเบเบเปเปเบกเบนเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฑเบเบเบฐเบกเบตเปเบเบเปเบเบต k8s, เปเบเบดเปเบเบเบฐเบกเบต Kubernetes/OpenShift YAMLs เบเบตเปเปเบเปเปเบเบทเปเบญเบเบณเปเบเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ. เบเบฐเบกเบต Tasks, ClusterTasks, Resources เปเบฅเบฐ Pipelines เบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเปเบฒเบเปเบเบเบตเป
เปเบซเปเปเบฅเบตเปเบกเบเบปเปเบ
เบเบฑเปเบเบเบญเบเบเปเบฒเบญเบดเบเบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบกเปเบเบเบฒเบเบชเปเบฒเบเปเบเบเบเบฒเบเปเบซเบกเปเปเบเบเบธเปเบก OpenShift. เปเบซเปเปเบเบซเบฒเปเบเบเบเบฒเบเบเบตเป webapp-pipeline เปเบฅเบฐเบชเปเบฒเบเบกเบฑเบเบเปเบงเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
$ oc new-project webapp-pipeline
เบเบทเปเปเบเบเบเบฒเบเบเบตเปเบเบฐเบเบฒเบเบปเบเบขเบนเปเปเบเบฅเบฐเบซเบฑเบเบเปเปเบกเบฒ, เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเปเบฒเบเบเบฑเบเบชเบดเบเปเบเบเบฑเปเบเบเบทเปเบกเบฑเบเบขเปเบฒเบเบญเบทเปเบ, เบขเปเบฒเบฅเบทเบกเปเบเปเปเบเบฅเบฐเบซเบฑเบเบเบปเบงเบขเปเบฒเบเบเบฒเบกเบเบงเบฒเบกเปเบซเบกเบฒเบฐเบชเบปเบก. เปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเบเบธเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเปเบเบถเปเบเปเบเบดเบเบฅเบปเบ, เปเบเปเบฅเบธเปเบกเบชเบธเบ: เบเบฑเปเบเปเบกเปเบ, เบเปเบฒเบญเบดเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเปเบฒเบเบญเบปเบเบเบฐเบเบญเบเบเบฑเบเบซเบกเบปเบเบเบญเบเบฅเปเบฒเบฅเบฝเบ, เปเบฅเบฐเบเบฝเบเปเบเปเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ conveyor เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ.
เบเบฑเปเบเบเบฑเปเบ, เบเปเบญเบเบญเบทเปเบ เปเบปเบ ...
เบงเบฝเบเบเบฒเบ
เปเบซเปเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบงเบฝเบเบเบฒเบเบชเบญเบเบขเปเบฒเบ, เปเบเบดเปเบเบเบฐเบเปเบงเบเปเบซเปเบเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฒเบเปเบเบเปเปเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบงเบฝเบเบเบฒเบเบเปเบฒเบญเบดเบ - apply_manifests_task - เบฎเบฑเบเบเบดเบเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเป YAML เบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ Kubernetes เปเบซเบผเบปเปเบฒเบเบฑเปเบ (เบเบฒเบเบเปเบฅเบดเบเบฒเบ, เบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบฅเบฐเปเบชเบฑเปเบเบเบฒเบ) เบเบตเปเบขเบนเปเปเบเปเบเบเปเบเบต k8s เบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบงเบฝเบเบเบฒเบเบเบตเบชเบญเบ โ 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
เปเบฒเบเปเบซเบ: เบเบตเปเปเบกเปเบเบงเบฝเบเบเปเบญเบเบเบดเปเบเบชเบณเบฅเบฑเบเปเบเบเบเบฒเบเบเบฑเบเบเบธเบเบฑเบเบเบญเบเบเปเบฒเบ.
เบงเบฝเบเบเบฒเบเบเบธเปเบก
เบงเบฝเบเบเบฒเบเบเบธเปเบกเปเบกเปเบเบเบทเปเบเบเบฒเบเบเบทเบเบฑเบเบเบฑเบเบงเบฝเบเบเบฒเบเบเบตเปเบเปเบฒเบเบเบฒเบ. เบเบฑเปเบเปเบกเปเบ, เบกเบฑเบเปเบเบฑเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเบฑเปเบเบเบญเบเบเบตเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเบทเบเปเบเปเบเบตเปเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเปเบเบงเบดเบเบตเบเบฒเบเบซเบเบถเปเบเบซเบผเบทเบญเบทเปเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบชเบฐเปเบเบฒเบฐ. เบเบงเบฒเบกเปเบเบเบเปเบฒเบเปเบกเปเบเบงเปเบฒเบงเบฝเบเบเบฒเบเบเบญเบเบเบธเปเบกเปเบกเปเบเบกเบตเบขเบนเปเบเบปเปเบงเบเบธเบเปเบซเปเบเบเบฒเบเปเบเบเบธเปเบก. เปเบเบทเปเบญเปเบเบดเปเบเบฅเบฒเบเบเบทเปเบงเบฝเบเบเบฒเบเบเบญเบเบเบธเปเบกเบเบตเปเบเบทเบเบชเปเบฒเบเบเบถเปเบเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบกเบทเปเบญเปเบเบตเปเบก Pipeline Operator, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเบเปเบฒเบชเบฑเปเบ 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 เปเบฎเบฑเบเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเปเบฒเบเปเบเบเปเบเป NodeShift. .
เบเบงเบโเปเบฎเบปเบฒโเบฎเบนเปโเบเบฑเบโเบซเบกเบปเบโเบเบตเปโเปเบเปโเปเบเบงโเปเบโ, เบเปเบฒเบโเบเบฒเบกโ? เบเบฒเบ
เบเบฑเปเบเบเบฑเปเบ, เบเบญเบเบเบตเปเปเบซเปเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบ s2i-web-app cluster task:
$ 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 เบกเบฑเบเบซเปเบฒเบเปเบ. เบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบงเบฝเบเบเบฒเบเบเบธเปเบกเบเปเบฒเบญเบดเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบฑเบเบฎเบนเบเบเบฒเบเบเบตเปเบกเบต 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 เปเบเบเบฒเบ params เบเบตเปเปเบเบซเบฒเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบชเบฐเปเบเบฒเบฐเปเบฅเบฐเบเปเบฒเบเบปเบเบชเบฒเบเบฒเบเบปเปเบเบชเบฐเบเบฑเบ (เบเบตเปเปเบกเปเบเบเบฒเบเปเบฅเบทเบญเบ, เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบฝเบเบกเบฑเบเปเบเบทเปเบญเบเบงเบฒเบกเบชเบปเบกเบเบนเบ).
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเปเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบชเปเบฒเบฅเบฑเบเบฎเบนเบเบเบฒเบเบเบตเปเบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบงเบฝเบเบเบฒเบ 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 Image Registry เบเบฒเบเปเบ, เปเบเบเบชเบฐเปเบเบฒเบฐเบเบตเปเบเบฑเปเบเบขเบนเปเปเบ webapp-pipeline namespace. เบขเปเบฒเบฅเบทเบกเบเปเบฝเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเบเปเบฒเบเปเบฒเบเปเบเป namespace เบญเบทเปเบ.
เปเบฅเบฐเบชเบธเบเบเปเบฒเบ, เบเบฑเบเบเบฐเบเบฒเบเบญเบเบชเบธเบเบเปเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบฐเปเบเบฑเบเบฎเบนเบเบเบฒเบเบเบฐเปเบเบเปเบฅเบฐเบเบตเปเบเบฐเปเบเบฑเบเบฎเบนเบเบเบฒเบ 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 เบเบฒเบเปเบเบขเบนเปเปเบ namespace webapp-pipeline.
เปเบเบทเปเบญเบชเปเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฑเบเบซเบกเบปเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเปเบฒเบชเบฑเปเบเบชเปเบฒเบ:
$ 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 เบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบเบเบปเบงเบเบตเปเบเบญเบเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบเปเบญเบเบซเบเปเบฒเบเบตเป:
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) เปเบฅเบฐเบเบปเบเบเบฐเบฅเบดเบ (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 cluster เบงเบฝเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเบชเปเบฒเบเปเบฅเปเบงเปเบญเบตเปเบเบงเปเบฒ:
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
เบงเบฝเบเบเบฒเบเบชเบญเบเบญเบฑเบเบเปเปเปเบเปเบกเปเบเบฎเบฑเบเบเบดเบเบเบญเบเปเบเบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเปเบฅเบดเบเบฒเบ, เปเบชเบฑเปเบเบเบฒเบเปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเปเปเบเบฅเป YAML เบเบตเปเบญเบฒเปเบชเบขเบนเปเปเบเปเบเปเบฅเบเบฐเบเปเบฅเบต k8s เบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบงเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เปเบฅเบฐเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบธเบเบเบฒเบเปเบเปเบเบฒเบเบเบตเปเปเบเปเบงเบฅเบฒเบชเปเบฒเบเบฎเบนเบเบเบฒเบเปเบซเบกเป. เบเบงเบเปเบฎเบปเบฒเปเบเปเบเปเบฒเบเบปเบเบชเบญเบเบงเบฝเบเบเบฒเบเบเบธเปเบกเบเบตเปเปเบเบเบญเบเบเบปเปเบเบเบญเบเบเบปเบเบเบงเบฒเบก.
เบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบ conveyor เปเบเป
เบเบฑเปเบเบเบฑเปเบ, เบเบธเบเบเบฒเบเบชเปเบงเบเบเบญเบเบเปเปเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบทเบเบชเปเบฒเบเบเบทเปเบ, เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบกเบฑเบเบเปเบงเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
$ tkn pipeline start build-and-deploy-react
เปเบเบเบฑเปเบเบเบญเบเบเบตเป, เปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบทเบเบเปเบฒเปเบเปเปเบเบเปเบเปเบเบญเบเปเบฅเบฐเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฅเบทเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเปเบเบทเปเบญเบเบญเบเบชเบฐเบซเบเบญเบเปเบเปเบฅเบฐเบเปเบฒเบฎเปเบญเบเบเปเบเบญเบเบกเบฑเบ: เบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ git เบเบงเบเปเบฎเบปเบฒเปเบฅเบทเบญเบ web-application-repo, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบฎเบนเบเบเบฒเบเบเปเบฒเบญเบดเบ - build-web-application -image, เปเบฅเบฐเบชเบธเบเบเปเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบฎเบนเบเบเบฒเบเบเบตเบชเบญเบ -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}}'
เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบดเปเบเปเบซเบฑเบเบซเบผเบฒเบเบเบงเปเบฒเปเบเบปเปเบฒ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบเปเปเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเปเบซเบกเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ web console เปเบเบเบฒเบ เบเปเป, เบเบฑเปเบเบเบตเปเบชเบฐเปเบเบเบขเบนเปเปเบเบฎเบนเบ. 1.
Fig.1. เบเบฒเบเบเบปเบเบเบงเบเบเบทเบเบเบญเบเบเปเปเปเบฅเปเบ.
เบเบฒเบเบเบฅเบดเบเปเบชเปเบเปเปเปเบฅเปเบเบชเบฐเปเบเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบเบตเปเบกเปเบเบตเบก, เบเบฑเปเบเบเบตเปเบชเบฐเปเบเบเบขเบนเปเปเบเบฎเบนเบ 2.
เปเบเบปเปเบฒ. 2. เบเปเปเบกเบนเบเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบเปเป.
เบซเบผเบฑเบเบเบฒเบเบเปเปเบกเบนเบเปเบเบตเปเบกเปเบเบตเบก, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบกเบธเบกเปเบเบดเปเบ Topology, เบเบฑเปเบเบเบตเปเบชเบฐเปเบเบเบขเบนเปเปเบ Fig.3.
Fig 3. เบเบฑเบเปเบเบตเบเบเบปเบง.
เบเบฒเบเบเบฅเบดเบเปเบชเปเบฎเบนเบเบงเบปเบเบกเบปเบเบขเบนเปเปเบเบกเบธเบกเบเบงเบฒเปเบเบดเบเบเบญเบเปเบญเบเบญเบเปเบเบตเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบฑเปเบเบเบตเปเบชเบฐเปเบเบเบขเบนเปเปเบเบฎเบนเบเบเบต 4.
เปเบเบปเปเบฒ. 4. เปเบฅเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ React.
เบชเบฐเบซเบฅเบธเบ
เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบชเบฐเปเบเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบชเปเบฒเบฅเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเปเบฒเบเปเบ OpenShift เปเบฅเบฐ synchronize เบกเบฑเบเบเบฑเบเบฅเบฐเบเบปเบเปเบเบฅเปเบเปเบญเบเบเบดเปเบ. เบเบงเบเปเบฎเบปเบฒเบเบฑเบเปเบเปเปเบเบดเปเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเบฅเบญเบเปเบกเปเปเบเบเบเบฒเบเบชเปเบฒเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเปเบเบเปเบเป OpenShift Pipelines. เบฅเบฐเบซเบฑเบเบเบปเบงเบขเปเบฒเบเบเบฑเบเปเบปเบเบเบฒเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบชเบฒเบกเบฒเบเบเบปเบเปเบเป
เบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเบตเปเบกเปเบเบตเบก (EN)
- e-book เบเบฃเบต
"เบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบ OpenShift: เบเบนเปเบกเบทเบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเบญเบปเบเบเบปเบ" เบเบฒเบเบชเปเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Node.js เบเบตเปเปเบเบฑเบเบเบธเบเปเบเบเบฒเบเบเบญเบ container เปเบเบเปเบเป Red Hat OpenShift Application Runtimes เปเบฅเบฐ Istio เบเบฒเบเบเบตเบเบฑเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ Node.js เปเบ OpenShift เปเบเบเปเบเป Chrome DevTools เบชเบฒเบกเบเปเบฒเบชเบฑเปเบเปเบเบทเปเบญเบเปเบฒเบเบดเบเปเบฒเบเบฒเบ Express เปเบ OpenShift เบเบฒเบ scratch เบเบฐเบเบฒเบเบชเบฐเบเบฑเบเบเบปเปเบงเปเบเบเบญเบ Node.js เปเบเบฑเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบ Red Hat OpenShift Application Runtimes เบเบฒเบเบเบดเบเบเบฒเบกเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ Node.js เปเบ OpenShift เบเบฑเบ Prometheus - เบเบปเบเบเบฝเบเบญเบทเปเบเปเบเปเบฝเบงเบเบฑเบ
OpenShift เปเบฅเบฐ Kubernetes เบขเบนเปเปเบเปเบงเบฑเบเปเบเบเป Red Hat
เบเบฐเบเบฒเบเบเบญเบ webinars เบเบตเปเบเบฐเบกเบฒเปเบเบดเบ
เบเบงเบเปเบฎเบปเบฒเบเบณเบฅเบฑเบเปเบฅเบตเปเบกเบเบฒเบเปเบเบดเบเบญเบปเบเบฎเบปเบกเปเบเบงเบฑเบเบชเบธเบเบเปเบฝเบงเบเบฑเบเบเบฐเบชเบปเบเบเบฒเบเบเบทเปเบเปเบกเบทเบญเบเบเบตเปเปเบเป Red Hat OpenShift Container Platform เปเบฅเบฐ Kubernetes:
เบงเบฑเบเบเบต 28 เบชเบดเบเบซเบฒ, webinar Emperor โOperatorโ: เบเบนเปเบเบฐเบเบญเบเบเบฒเบเปเบ OpenShift เปเบฅเบฐ Kubernetes เบงเบฑเบเบเบต 11 เบเบฑเบเบเบฒ, DeploymentConfig vs Deployment โ โโOpenShift-specific magic for build and deploying applications เบงเบฑเบเบเบต 25 เบเบฑเบเบเบฒ, Red Hat OpenShift เปเบฅเบฐ Machine API เบงเบฑเบเบเบต 9 เบเบธเบฅเบฒ, เบงเบดเบเบตเบเบฒเบเบฎเบฑเบเบกเบทเบเบฑเบเบเบฒเบเปเบเบตเปเบกเบเบถเปเบเบขเปเบฒเบเบเบฐเบเบฑเบเบซเบฑเบเบเบญเบเบงเบฝเบเบเบฒเบ เบงเบฑเบเบเบต 23 เบเบธเบฅเบฒ, เบเบฑเบ Jenkins, Pipeline-builds, Tekton in Red Hat OpenShift Container Platform
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com