āĻāĻ āĻŦā§āĻ˛āĻā§ āĻ¸āĻŦāĻžāĻ āĻšā§āĻ¯āĻžāĻ˛ā§! āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ°āĻŋāĻā§āĻ° āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒā§āĻ¸ā§āĻ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻāĻžāĻ āĻ¯ā§ āĻāĻŋāĻāĻžāĻŦā§ Red Hat OpenShift-āĻ āĻāĻ§ā§āĻ¨āĻŋāĻ āĻāĻ¯āĻŧā§āĻŦ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧāĨ¤
āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻĻā§āĻāĻŋ āĻĒā§āĻ¸ā§āĻā§, āĻāĻŽāĻ°āĻž āĻāĻāĻžāĻ° āĻāĻ°ā§āĻāĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ§ā§āĻ¨āĻŋāĻ āĻāĻ¯āĻŧā§āĻŦ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ§āĻžāĻĒā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ S2I āĻāĻŽā§āĻ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŦ-āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ HTTP āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻŽā§āĻ āĻ¯ā§āĻŽāĻ¨ NGINX āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻā§āĻĒāĻžāĻĻāĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻāĻ¨āĻĄ āĻŦāĻŋāĻ˛ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤
āĻāĻ āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻžāĻŦ āĻāĻŋāĻāĻžāĻŦā§ OpenShift āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻŋāĻā§ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ, āĻāĻŦāĻ OpenShift āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋ āĻā§ āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ˛āĻŋāĻā§āĻāĻ¯ā§āĻā§āĻ¤ āĻ¸āĻŽāĻžāĻŦā§āĻļāĻā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§āĻ āĻāĻĨāĻž āĻŦāĻ˛āĻŦā§ˇ
āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§ OpenShift
āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻāĻ°ā§āĻŽāĻĒā§āĻ°āĻŦāĻžāĻš
āĻāĻā§āĻ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻāĻ§ā§āĻ¨āĻŋāĻ āĻĢā§āĻ°ā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§, āĻāĻ āĻāĻžāĻ¤ā§āĻ¯āĻŧ "āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°" āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻāĻĻāĻžāĻšāĻ°āĻŖ
āĻĒā§āĻ°āĻĨāĻŽā§ āĻĻā§āĻāĻž āĻ¯āĻžāĻ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻāĻŦā§āĻĻāĻ¨ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻž āĻ¯āĻžāĻ.
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻĻāĻžāĻšāĻ°āĻŖā§ "āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°" āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻāĻĒ āĻāĻ°āĻŦ:
$ npm run start
āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻāĻāĻ¨ā§āĻĄā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻ°āĻāĻŽ āĻāĻŋāĻā§ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦ:
āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻā§āĻ˛āĻŦā§:
āĻāĻāĻ¨, āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻĢāĻžāĻāĻ˛ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻŋ, āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻ°āĻŋāĻĢā§āĻ°ā§āĻļ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤
āĻ āĻŋāĻ āĻāĻā§, āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻŽā§āĻĄā§ āĻŦāĻŋāĻāĻžāĻļā§āĻ° āĻ¸āĻžāĻĨā§, āĻ¸āĻŦāĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ°, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŋāĻāĻžāĻŦā§ OpenShift āĻ āĻāĻāĻ āĻ āĻ°ā§āĻāĻ¨ āĻāĻ°āĻŦā§āĻ¨?
OpenShift-āĻ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°
āĻ¯āĻĻāĻŋ āĻŽāĻ¨ā§ āĻĨāĻžāĻā§
āĻ¯āĻžāĻāĻšā§āĻ, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ āĻĻā§āĻā§āĻ¨
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ nodeshift āĻŽāĻĄāĻŋāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
$ npx nodeshift --deploy.env NPM_RUN="yarn start" --dockerImage=nodeshift/ubi8-s2i-web-app
āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯: āĻāĻĒāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ§āĻžāĻ°āĻŖāĻžāĻāĻŋ āĻŦā§āĻāĻžāĻ¤ā§ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻāĻžāĻ¨ā§, āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ¯āĻŧ NPM_RUN āĻāĻ¨āĻāĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§āĻ¨ā§āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¯ā§āĻ āĻāĻ°ā§āĻāĻŋ, āĻ¯āĻž āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽāĻā§ āĻ¸ā§āĻ¤āĻž āĻ¸ā§āĻāĻžāĻ°ā§āĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻ˛ā§, āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻĒā§āĻ¨āĻļāĻŋāĻĢāĻ āĻĒāĻĄā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻ°āĻŋāĻ ā§āĻ¯āĻžāĻā§āĻ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻļā§āĻ°ā§ āĻāĻ°ā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻāĻ˛āĻŽāĻžāĻ¨ āĻĒāĻĄā§āĻ° āĻ˛āĻā§ āĻ¤āĻžāĻāĻžāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻ°āĻāĻŽ āĻāĻŋāĻā§ āĻĨāĻžāĻāĻŦā§:
āĻ āĻŦāĻļā§āĻ¯āĻ, āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻŋāĻā§āĻ āĻšāĻŦā§ āĻ¨āĻž āĻ¯āĻ¤āĻā§āĻˇāĻŖ āĻ¨āĻž āĻāĻŽāĻ°āĻž āĻā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻā§āĻĄ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻ¯āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯āĻ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻāĻŋ āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻĨāĻžāĻā§āĨ¤
āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻŦāĻ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻā§āĻĄā§āĻ° āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻā§āĻļāĻ¨
āĻ¸ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, 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 āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻāĻĒāĻ°ā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻŽā§āĻ°ā§āĻ¤āĻ¤āĻž, āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ°āĻ āĻāĻžāĻ¨āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŋāĻ˛, āĻ¤āĻŦā§ āĻ¸āĻ āĻŋāĻ āĻāĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻžāĻ āĻžāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ
āĻ¨ā§āĻ¸āĻžāĻ°ā§ NPM_RUN āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
â
āĻāĻĒā§āĻ¨āĻļāĻŋāĻĢā§āĻ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨
āĻāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻ°āĻž āĻāĻĒā§āĻ¨āĻļāĻŋāĻĢāĻ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§ āĻāĻāĻāĻŋ āĻā§āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻŦ āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻāĻāĻŋ āĻā§āĻāĻ¨āĻĄ āĻŦāĻŋāĻ˛ā§āĻĄāĻā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
OpenShift āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻāĻŋ?
OpenShift Pipelines āĻšāĻ˛ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻāĻĄ-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ CI/CD āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻāĻ¨ā§āĻāĻŋāĻā§āĻ°ā§āĻļāĻ¨ āĻāĻŦāĻ āĻā§āĻāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄā§āĻ˛āĻŋāĻāĻžāĻ°āĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĨ¤ āĻā§āĻāĻāĻ¨ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻāĻĒā§āĻ¨ āĻ¸ā§āĻ°ā§āĻ¸, āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻā§āĻ¸ āĻ¨ā§āĻāĻŋāĻ āĻ¸āĻŋāĻāĻ/āĻ¸āĻŋāĻĄāĻŋ āĻĢā§āĻ°ā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¯āĻž āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¸ā§āĻ¤āĻ° āĻĨā§āĻā§ āĻŦāĻŋāĻŽā§āĻ°ā§āĻ¤ āĻšāĻ¯āĻŧā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§ (āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸, āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻšā§āĻ¨, āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ) āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°ā§āĨ¤
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻŦā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋāĻā§ āĻā§āĻāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻĻā§āĻĸāĻŧāĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻĨāĻŽā§ āĻĒāĻĄāĻŧāĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ
āĻāĻžāĻā§āĻ° āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻ˛āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻāĻāĻŋ āĻāĻžāĻā§āĻ° āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
- āĻāĻāĻāĻŋ OpenShift 4 āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°ā§āĻ¨ā§ˇ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖāĻā§āĻ˛āĻŋ āĻāĻ° āĻāĻ¨ā§āĻ¯ CodeReady Containers (CRD) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻāĻžāĻ¨ā§ . - āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋāĻ¤ā§ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻ
āĻĒāĻžāĻ°ā§āĻāĻ° āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻ¯āĻŧ āĻĒāĻžāĻŦā§āĻ¨ āĻ¨āĻž, āĻāĻāĻŋ āĻ¸āĻšāĻ, āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§
āĻāĻāĻžāĻ¨ā§ . - āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°ā§āĻ¨
āĻā§āĻāĻāĻ¨ āĻ¸āĻŋāĻāĻ˛āĻāĻ (tkn)āĻāĻāĻžāĻ¨ā§ . - āĻāĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻĒ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ Create-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 āĻāĻ¯āĻŧā§āĻŦ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ, āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻŦāĻ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ OpenShift āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ¤ā§ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋ āĻĒā§āĻļ āĻāĻ°āĻ¤ā§ Buildah āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ, āĻāĻžāĻ°āĻŖ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ NodeShift āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻ¨ āĻ¤āĻāĻ¨ āĻāĻĒā§āĻ¨āĻļāĻŋāĻĢāĻ āĻ āĻŋāĻ āĻāĻāĻŋāĻ āĻāĻ°ā§āĨ¤
āĻāĻŽāĻ°āĻž āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ āĻ¸āĻŦ āĻāĻžāĻ¨āĻŋ, āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž? āĻĨā§āĻā§
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž 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
āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻāĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻŋāĻ˛ā§āĻ āĻāĻ¨ā§āĻā§āĻ¨ā§āĻ āĻ°āĻžāĻā§āĨ¤ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĢā§āĻ°ā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻžāĻĨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻāĻŽāĻŦāĻžāĻ°ā§ āĻāĻāĻŋ āĻĄāĻŋāĻ¸ā§āĻāĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻžāĻ¸ā§āĻā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻšāĻŦā§ āĻāĻāĻāĻŋ āĻāĻŽā§āĻ āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ HTML, JavaScript āĻāĻŦāĻ CSS āĻāĻŽāĻ°āĻž āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°ā§āĻāĻŋāĨ¤
āĻāĻŽāĻ°āĻž NGINX āĻāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻŋāĻ¤ā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ
āĻāĻŽāĻžāĻĻā§āĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻžāĻ¸ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ NGINX-āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ āĻāĻŋāĻ¤ā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§, āĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻŦāĻŋāĻāĻžāĻā§āĻ° āĻ āĻāĻļ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻļā§āĻā§āĻāĻ˛āĻŋāĻ¤ āĻŦāĻŋāĻ˛ā§āĻĄāĻā§āĻ˛āĻŋ āĻĻā§āĻā§āĻāĻŋāĨ¤
āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž - āĻ āĻŋāĻ āĻāĻĒāĻ°ā§āĻ° āĻŽāĻ¤ - āĻāĻāĻāĻŋ āĻāĻ¯āĻŧā§āĻŦāĻ ā§āĻ¯āĻžāĻĒ-āĻŦāĻŋāĻ˛ā§āĻĄ-āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻžāĻ¸ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ:
$ oc create -f https://raw.githubusercontent.com/nodeshift/webapp-pipeline-tutorial/master/clustertasks/webapp-build-runtime-task.yaml
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻžāĻ¸ā§āĻāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄāĻāĻŋ āĻĻā§āĻā§āĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻāĻŋ āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻāĻŋāĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻžāĻ āĻāĻ°āĻāĻŋ āĻŦāĻž āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻāĻŦāĻŋāĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻāĻŋ āĻ¤āĻžāĻ° āĻ¨āĻžāĻŽ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻāĻŽāĻ°āĻž āĻā§āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻŋ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻāĻŋāĻ-āĻ āĻ āĻŋāĻ āĻā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻŋ, āĻŦāĻž āĻāĻŋāĻā§ āĻāĻŋāĻ¤ā§āĻ° āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻāĻŋāĻ¤ā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĨ¤ āĻāĻ āĻāĻžāĻ°āĻŖā§āĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻ°āĻž āĻāĻžāĻāĻā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻ¨ā§āĻĻāĻ°āĻāĻžāĻŦā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻā§ āĻāĻ˛ā§ āĻ¯āĻžāĻ ...
āĻ¸āĻŽā§āĻĒāĻĻ
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻ˛ā§āĻāĻŋ, āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻžāĻ¸ā§āĻāĻā§āĻ˛āĻŋ āĻ¯āĻ¤āĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŽāĻ¨ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻž āĻāĻ¨āĻĒā§āĻ (āĻāĻŋāĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋ) āĻāĻŦāĻ āĻāĻāĻāĻĒā§āĻā§ (āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻāĻŋāĻ¤ā§āĻ°) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻāĻŋ āĻš'āĻ˛ āĻāĻŋāĻ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻĨāĻžāĻā§, āĻāĻ°āĻāĻŽ āĻāĻŋāĻā§:
# 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 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 āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻ¤ā§ āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĨ¤
āĻāĻāĻŦāĻžāĻ°ā§ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§, āĻāĻŽāĻ°āĻž create āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ:
$ 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
āĻāĻ āĻāĻžāĻāĻāĻŋ āĻāĻ¨āĻĒā§āĻ (āĻāĻŋāĻ° āĻ°āĻŋāĻ¸ā§āĻ°ā§āĻ¸) āĻāĻŦāĻ āĻāĻāĻāĻĒā§āĻ (āĻŦāĻŋāĻ˛ā§āĻ-āĻāĻ¯āĻŧā§āĻŦ-āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨-āĻāĻŽā§āĻ āĻ°āĻŋāĻ¸ā§āĻ°ā§āĻ¸) āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ¨ā§āĻ¯āĻŧāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻ āĻĒāĻžāĻ¸ āĻāĻ°āĻŋ āĻ¯āĻžāĻ¤ā§ āĻāĻāĻŋ 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
āĻāĻā§āĻ° āĻāĻžāĻ¸ā§āĻā§āĻ° āĻŽāĻ¤ā§, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ°āĻŋāĻ¸ā§āĻ°ā§āĻ¸ā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻāĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ¨ āĻāĻāĻŋ āĻŦāĻŋāĻ˛ā§āĻ-āĻāĻ¯āĻŧā§āĻŦ-āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨-āĻāĻŽā§āĻ (āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻā§āĻ° āĻāĻžāĻ¸ā§āĻā§āĻ° āĻāĻāĻāĻĒā§āĻ)āĨ¤ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻĒāĻ¸āĻāĻšāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻŽāĻ°āĻž āĻāĻŦāĻžāĻ° āĻāĻŽā§āĻ āĻ¸ā§āĻ. āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻ āĻāĻžāĻāĻāĻŋ āĻāĻā§āĻ°āĻāĻŋāĻ° āĻĒāĻ°ā§ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤, āĻāĻŽāĻ°āĻž āĻ°āĻžāĻ¨āĻāĻĢāĻāĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°āĻāĻŋ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻŋ:
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
āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§, āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨āĻāĻŋ āĻāĻ¨ā§āĻāĻžāĻ°ā§āĻā§āĻāĻŋāĻāĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§: āĻāĻŋāĻ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻ¯āĻŧā§āĻŦ-āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨-āĻ°ā§āĻĒā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŋāĻ¤ā§āĻ° āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻŦāĻŋāĻ˛ā§āĻ-āĻāĻ¯āĻŧā§āĻŦ-āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨- āĻāĻŽā§āĻ, āĻāĻŦāĻ āĻ āĻŦāĻļā§āĻˇā§ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻāĻŽā§āĻ āĻ°āĻŋāĻ¸ā§āĻ°ā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ -āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ-āĻāĻ¯āĻŧā§āĻŦ-āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨-āĻāĻŽā§āĻ:
? 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. āĻĒāĻ°āĻŋāĻŦāĻžāĻšāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¤āĻĨā§āĻ¯āĨ¤
āĻāĻ°āĻ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖā§āĻ° āĻĒāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻāĻ¤ā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨ āĻā§āĻĒā§āĻ˛āĻāĻŋ, Fig.3 āĻ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻŋāĻ¤ā§āĻ° 3. āĻāĻ˛āĻŽāĻžāĻ¨ āĻĒāĻĄāĨ¤
āĻāĻāĻāĻ¨ā§āĻ° āĻāĻĒāĻ°ā§āĻ° āĻĄāĻžāĻ¨āĻĻāĻŋāĻā§āĻ° āĻā§āĻŖāĻžāĻ¯āĻŧ āĻŦā§āĻ¤ā§āĻ¤ā§ āĻā§āĻ˛āĻŋāĻ āĻāĻ°āĻ˛ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻā§āĻ˛ā§, āĻ¯ā§āĻŽāĻ¨ āĻāĻŋāĻ¤ā§āĻ° 4 āĻ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻžāĻ¤āĨ¤ 4. āĻāĻāĻāĻŋ āĻāĻ˛āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĨ¤
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻŋāĻ¯āĻŧā§āĻāĻŋ āĻāĻŋāĻāĻžāĻŦā§ OpenShift-āĻ āĻāĻĒāĻ¨āĻžāĻ° āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻŋāĻā§ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻĒā§āĻ¨āĻļāĻŋāĻĢā§āĻ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻā§āĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻā§āĻāĻ¨-āĻŦāĻŋāĻ˛ā§āĻĄ āĻā§āĻŽāĻĒā§āĻ˛ā§āĻ āĻ
āĻ¨ā§āĻāĻ°āĻŖ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻžāĻ āĻĻā§āĻā§āĻāĻŋāĨ¤ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻĨā§āĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻā§āĻĄ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§
āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¸āĻŽā§āĻĒāĻĻ
- āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§ āĻāĻŦā§āĻ
"āĻāĻĒā§āĻ¨āĻļāĻŋāĻĢā§āĻ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨: āĻ āĻ§ā§āĻ°ā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž" Red Hat OpenShift āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽ āĻāĻŦāĻ Istio āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¨āĻā§āĻāĻ¨āĻžāĻ°āĻžāĻāĻāĻĄ Node.js āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž Chrome DevTools āĻ¸āĻš OpenShift-āĻ Node.js āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻĄāĻŋāĻŦāĻžāĻ āĻāĻ°āĻžā§ˇ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¸ā§āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻĨā§āĻā§ OpenShift āĻ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻ¸ āĻāĻ¯āĻŧāĻ¤ā§āĻ¤ āĻāĻ°āĻ¤ā§ Red Hat OpenShift āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽā§āĻ° āĻ āĻāĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§ Node.js-āĻāĻ° āĻ¸āĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻā§āĻˇāĻŖāĻž āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻāĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ OpenShift-āĻ Node.js āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ āĻāĻ°āĻž - āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§
OpenShift āĻāĻŦāĻ Kubernetes Red Hat āĻāĻ¯āĻŧā§āĻŦāĻ¸āĻžāĻāĻā§
āĻāĻ¸āĻ¨ā§āĻ¨ āĻāĻ¯āĻŧā§āĻŦāĻŋāĻ¨āĻžāĻ°ā§āĻ° āĻā§āĻˇāĻŖāĻž
āĻāĻŽāĻ°āĻž āĻ°ā§āĻĄ āĻšā§āĻ¯āĻžāĻ āĻāĻĒā§āĻ¨āĻļāĻŋāĻĢāĻ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ āĻāĻŦāĻ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ āĻāĻŋāĻā§āĻāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻļā§āĻā§āĻ°āĻŦāĻžāĻ° āĻāĻ¯āĻŧā§āĻŦāĻŋāĻ¨āĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ°āĻŋāĻ āĻļā§āĻ°ā§ āĻāĻ°āĻāĻŋ:
28 āĻāĻāĻ¸ā§āĻ, āĻāĻ¯āĻŧā§āĻŦāĻŋāĻ¨āĻžāĻ° āĻ¸āĻŽā§āĻ°āĻžāĻ "āĻ āĻĒāĻžāĻ°ā§āĻāĻ°": āĻāĻĒā§āĻ¨āĻļāĻŋāĻĢā§āĻ āĻāĻŦāĻ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§ āĻ āĻĒāĻžāĻ°ā§āĻāĻ° 11 āĻ¸ā§āĻĒā§āĻā§āĻŽā§āĻŦāĻ°, DeploymentConfig āĻŦāĻ¨āĻžāĻŽ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž - āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ OpenShift-āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻŽā§āĻ¯āĻžāĻāĻŋāĻ 25 āĻ¸ā§āĻĒā§āĻā§āĻŽā§āĻŦāĻ°, āĻ°ā§āĻĄ āĻšā§āĻ¯āĻžāĻ āĻāĻĒā§āĻ¨āĻļāĻŋāĻĢāĻ āĻāĻŦāĻ āĻŽā§āĻļāĻŋāĻ¨ āĻāĻĒāĻŋāĻāĻ 9 āĻ āĻā§āĻā§āĻŦāĻ°, āĻšāĻ āĻžā§ āĻāĻžāĻā§āĻ° āĻāĻžāĻĒ āĻŦā§āĻĄāĻŧā§ āĻā§āĻ˛ā§ āĻā§āĻāĻžāĻŦā§ āĻŽā§āĻāĻžāĻŦā§āĻ˛āĻž āĻāĻ°āĻŦā§āĻ¨ 23 āĻ āĻā§āĻā§āĻŦāĻ°, āĻ°ā§āĻĄ āĻšā§āĻ¯āĻžāĻ āĻāĻĒā§āĻ¨āĻļāĻŋāĻĢāĻ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§ āĻāĻŽāĻŦā§āĻĄā§āĻĄ āĻā§āĻ¨āĻāĻŋāĻ¨ā§āĻ¸, āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨-āĻŦāĻŋāĻ˛ā§āĻĄāĻ¸, āĻā§āĻāĻāĻ¨
āĻāĻ¤ā§āĻ¸: www.habr.com