OpenShift 'เจคเฉ‡ เจ†เจงเฉเจจเจฟเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ, เจญเจพเจ— 2: เจšเฉ‡เจจเจก เจฌเจฟเจฒเจกเจธ

เจธเจพเจฐเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจธเจคเจฟ เจธเจผเฉเจฐเฉ€ เจ…เจ•เจพเจฒ! เจ‡เจน เจธเจพเจกเฉ€ เจฒเฉœเฉ€ เจตเจฟเฉฑเจš เจฆเฉ‚เจœเฉ€ เจชเฉ‹เจธเจŸ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ Red Hat OpenShift เจ‰เฉฑเจคเฉ‡ เจ†เจงเฉเจจเจฟเจ• เจตเฉˆเฉฑเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจนเฉˆเฅค

OpenShift 'เจคเฉ‡ เจ†เจงเฉเจจเจฟเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ, เจญเจพเจ— 2: เจšเฉ‡เจจเจก เจฌเจฟเจฒเจกเจธ

เจชเจฟเจ›เจฒเฉ€ เจชเฉ‹เจธเจŸ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจจเจตเฉ‡เจ‚ S2I (เจธเจฐเฉ‹เจค-เจคเฉ‹เจ‚-เจšเจฟเฉฑเจคเจฐ) เจฌเจฟเจฒเจกเจฐ เจšเจฟเฉฑเจคเจฐ เจฆเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฅเฉ‹เฉœเฉเจนเจพ เจœเจฟเจนเจพ เจ›เฉ‚เจนเจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ•เจฟ OpenShift เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ 'เจคเฉ‡ เจ†เจงเฉเจจเจฟเจ• เจตเฉˆเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจคเฉˆเจจเจพเจค เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจซเจฟเจฐ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจคเฉˆเจจเจพเจค เจ•เจฐเจจ เจฆเฉ‡ เจตเจฟเจธเจผเฉ‡ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจธเฉ€, เจ…เจคเฉ‡ เจ…เฉฑเจœ เจ…เจธเฉ€เจ‚ เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡ เจ•เจฟ เจ‡เฉฑเจ• S2I เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• "เจธเจผเฉเฉฑเจง" เจฌเจฟเจฒเจกเจฐ เจšเจฟเฉฑเจคเจฐ เจตเจœเฉ‹เจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจตเจฐเจคเจฃเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจ“เจชเจจเจธเจผเจฟเจซเจŸ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€เจ†เจ‚ เจจเจพเจฒ เจœเฉ‹เฉœเจจเจพ เจนเฉˆเฅค

เจธเจพเจซเจผ เจฌเจฟเจฒเจกเจฐ เจšเจฟเฉฑเจคเจฐ

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจญเจพเจ— XNUMX เจตเจฟเฉฑเจš เจœเจผเจฟเจ•เจฐ เจ•เฉ€เจคเจพ เจนเฉˆ, เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจ†เจงเฉเจจเจฟเจ• เจตเฉˆเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ…เจ–เฉŒเจคเฉ€ เจฌเจฟเจฒเจก เจชเฉœเจพเจ… เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉ‹เจก เจŸเฉเจฐเจพเจ‚เจธเจชเฉ€เจฒเฉ‡เจธเจผเจจ, เจฎเจฒเจŸเฉ€เจชเจฒ เจซเจพเจˆเจฒ เจ•เจจเจ•เฉ‡เจŸเฉ‡เจจเฉ‡เจธเจผเจจ, เจ…เจคเฉ‡ เจฎเจฟเจจเฉ€เจซเจฟเจ•เฉ‡เจธเจผเจจ เจตเจฐเจ—เฉ€เจ†เจ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจนเจจเจพเจ‚ เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ - เจ…เจคเฉ‡ เจ‡เจน เจธเจฅเจฟเจฐ HTML, JavaScript เจ…เจคเฉ‡ CSS - เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจซเฉ‹เจฒเจกเจฐ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‡เจธ เจซเฉ‹เจฒเจกเจฐ เจฆเจพ เจŸเจฟเจ•เจพเจฃเจพ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจธ เจ—เฉฑเจฒ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเจนเฉœเฉ‡ เจฌเจฟเจฒเจก เจŸเฉ‚เจฒ เจตเจฐเจคเฉ‡ เจœเจพ เจฐเจนเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจชเฉเจฐเจคเฉ€เจ•เจฟเจฐเจฟเจ† เจฒเจˆ เจ‡เจน ./build เจซเฉ‹เจฒเจกเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพ (เจ…เจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจนเฉ‹เจฐ เจตเฉ‡เจฐเจตเฉ‡ เจจเจพเจฒ เจ‡เจธ 'เจคเฉ‡ เจตเจพเจชเจธ เจ†เจตเจพเจ‚เจ—เฉ‡)เฅค

เจธเจฐเฉ‹เจค-เจคเฉ‹เจ‚-เจšเจฟเฉฑเจคเจฐ (S2I)

เจ‡เจธ เจชเฉ‹เจธเจŸ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ "S2I เจ•เฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจตเจฐเจคเจฃเจพ เจนเฉˆ" เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจจเจนเฉ€เจ‚ เจ›เฉ‚เจนเจฆเฉ‡ เจนเจพเจ‚ (เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจชเฉœเฉเจน เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ‡เฉฑเจฅเฉ‡), เจชเจฐ เจ‡เจน เจธเจฎเจเจฃ เจฒเจˆ เจ•เจฟ เจ‡เฉฑเจ• เจตเฉˆเฉฑเจฌ เจเจช เจฌเจฟเจฒเจกเจฐ เจšเจฟเฉฑเจคเจฐ เจ•เฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‡เจธ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉ‡ เจฆเฉ‹ เจชเฉœเจพเจตเจพเจ‚ เจฌเจพเจฐเฉ‡ เจธเจชเฉฑเจธเจผเจŸ เจนเฉ‹เจฃเจพ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆเฅค

เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจชเฉœเจพเจ…

เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจชเฉœเจพเจ… เจ•เฉเจฆเจฐเจค เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจฎเจพเจจ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจกเฉŒเจ•เจฐ เจฌเจฟเจฒเจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจกเฉŒเจ•เจฐ เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจจเจพเจฒ เจ–เจคเจฎ เจนเฉเฉฐเจฆเจพ เจนเฉˆ. เจ‡เจธ เจ…เจจเฉเจธเจพเจฐ, เจ‡เจน เจชเฉœเจพเจ… เจ“เจชเจจเจธเจผเจฟเจซเจŸ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ 'เจคเฉ‡ เจ‡เฉฑเจ• เจฌเจฟเจฒเจก เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจตเฉˆเฉฑเจฌ เจเจช เจฌเจฟเจฒเจกเจฐ เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจ‡เจน เจคเฉเจนเจพเจกเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ€ เจจเจฟเจฐเจญเจฐเจคเจพ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจฌเจฟเจฒเจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆเฅค เจธเจ•เฉเจฐเจฟเจชเจŸ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเฉ‹. เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจฌเจฟเจฒเจกเจฐ เจšเจฟเฉฑเจคเจฐ npm เจฐเจจ เจฌเจฟเจฒเจก เจ•เฉฐเจธเจŸเจฐเฉฑเจ•เจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจ‡เจธเจจเฉ‚เฉฐ NPM_BUILD เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉเจ†เจฐเจพ เจ“เจตเจฐเจฐเจพเจˆเจก เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ•เจฟเจนเจพ เจนเฉˆ, เจฎเฉเจ•เฉฐเจฎเจฒ, เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจฃเจพเจˆ เจ—เจˆ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจ‡เจธ เจ—เฉฑเจฒ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ•เจฟเจนเฉœเฉ‡ เจธเจพเจงเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, React เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจ‡เจน ./build เจซเฉ‹เจฒเจกเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจ…เจคเฉ‡ Angular เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ เจ‡เจน project_name/dist เจซเฉ‹เจฒเจกเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ…เจคเฉ‡, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจชเจฟเจ›เจฒเฉ€ เจชเฉ‹เจธเจŸ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ, เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€, เจœเฉ‹ เจ•เจฟ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, เจจเฉ‚เฉฐ OUTPUT_DIR เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉเจ†เจฐเจพ เจ“เจตเจฐเจฐเจพเจˆเจก เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ–เฉˆเจฐ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจซเฉ‹เจฒเจกเจฐ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจซเจฐเฉ‡เจฎเจตเจฐเจ• เจคเฉ‹เจ‚ เจซเจฐเฉ‡เจฎเจตเจฐเจ• เจคเฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจคเฉเจธเฉ€เจ‚ เจฌเจธ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจจเฉ‚เฉฐ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจธเจŸเฉˆเจ‚เจกเจฐเจก เจซเฉ‹เจฒเจกเจฐ เจตเจฟเฉฑเจš เจ•เจพเจชเฉ€ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจ…เจฐเจฅเจพเจค /opt/apt-root/output. เจ‡เจธ เจฒเฉ‡เจ– เจฆเฉ‡ เจฌเจพเจ•เฉ€ เจนเจฟเฉฑเจธเฉ‡ เจจเฉ‚เฉฐ เจธเจฎเจเจฃ เจฒเจˆ เจ‡เจน เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ, เจชเจฐ เจนเฉเจฃ เจฒเจˆ เจ†เจ“ เจœเจฒเจฆเฉ€ เจจเจพเจฒ เจ…เจ—เจฒเฉ‡ เจชเฉœเจพเจ… - เจฐเจจ เจชเฉœเจพเจ… 'เจคเฉ‡ เจจเจœเจผเจฐ เจฎเจพเจฐเฉ€เจเฅค

เจฐเจจ เจชเฉœเจพเจ…

เจ‡เจน เจชเฉœเจพเจ… เจ‰เจฆเฉ‹เจ‚ เจตเจพเจชเจฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจชเฉœเจพเจ… เจฆเฉŒเจฐเจพเจจ เจฌเจฃเจพเจ เจ—เจ เจจเจตเฉ‡เจ‚ เจšเจฟเฉฑเจคเจฐ 'เจคเฉ‡ เจกเฉŒเจ•เจฐ เจฐเจจ เจฒเจˆ เจ•เจพเจฒ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ“เจชเจจเจธเจผเจฟเจซเจŸ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ 'เจคเฉ‡ เจคเฉˆเจจเจพเจค เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจตเฉ€ เจ…เจœเจฟเจนเจพ เจนเฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจกเจฟเจซเจพเจฒเจŸ เจธเจ•เฉเจฐเจฟเจชเจŸ เจšเจฒเจพเจ“ เจตเจฐเจคเจฆเจพ เจนเฉˆ เจธเฉ‡เจตเจพ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจ‰เจชเจฐเฉ‹เจ•เจค เจฎเจฟเจ†เจฐเฉ€ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจธเจฅเจฟเจฐ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉ€ เจธเฉ‡เจตเจพ เจ•เจฐเจจ เจฒเจˆเฅค

เจ‡เจน เจตเจฟเจงเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจคเฉˆเจจเจพเจค เจ•เจฐเจจ เจฒเจˆ เจตเจงเฉ€เจ† เจนเฉˆ, เจชเจฐ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจธ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจธเจฅเจฟเจฐ เจธเจฎเฉฑเจ—เจฐเฉ€ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ–เฉˆเจฐ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซ เจธเจฅเจฟเจฐ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉ€ เจธเฉ‡เจตเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจธเจพเจจเฉ‚เฉฐ เจธเจพเจกเฉ‡ เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเฉ‡ Node.js เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ - เจ‡เฉฑเจ• เจตเฉˆเจฌ เจธเจฐเจตเจฐ เจ•เจพเจซเจผเฉ€ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจฆเฉ‚เจœเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš, เจ…เจธเฉˆเจ‚เจฌเจฒ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจšเฉ€เจœเจผ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจœเจฆเฉ‹เจ‚ เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจšเฉ€เจœเจผ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจœเฉฐเจœเจผเฉ€เจฐเจพเจ‚ เจตเจพเจฒเฉ‡ เจฌเจฟเจฒเจก เจ•เฉฐเจฎ เจ†เจ‰เจ‚เจฆเฉ‡ เจนเจจ.

เจœเฉฐเจœเฉ€เจฐ เจฌเฉฐเจจเฉเจนเจฆเจพ เจนเฉˆ

เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ‰เจน เจฒเจฟเจ–เจฆเฉ‡ เจนเจจ เจœเฉฐเจœเฉ€เจฐเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ OpenShift เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจตเจฟเฉฑเจš:

"เจฆเฉ‹ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ†เจชเจธ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ‡เฉฑเจ• เจ‡เฉฑเจ• เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเฉ€ เจนเจธเจคเฉ€ เจชเฉˆเจฆเจพ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจฆเฉ‚เจœเฉ€ เจ‰เจธ เจนเจธเจคเฉ€ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจนเฉ‹เจธเจŸ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจ‰เจธ เจนเจธเจคเฉ€ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค"

เจฆเฉ‚เจœเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ€ เจฌเจฟเจฒเจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจตเฉˆเจฌ เจเจช เจฌเจฟเจฒเจกเจฐ เจšเจฟเฉฑเจคเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจซเจฟเจฐ เจธเจพเจกเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉ€ เจธเฉ‡เจตเจพ เจ•เจฐเจจ เจฒเจˆ เจตเฉˆเจฌ เจธเจฐเจตเจฐ เจšเจฟเฉฑเจคเจฐ, เจ‰เจธเฉ‡ NGINX เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ…เจธเฉ€เจ‚ เจตเฉˆเฉฑเจฌ เจเจช เจฌเจฟเจฒเจกเจฐ เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ "เจธเจผเฉเฉฑเจง" เจฌเจฟเจฒเจกเจฐ เจตเจœเฉ‹เจ‚ เจตเจฐเจค เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจฐเจจเจŸเจพเจˆเจฎ เจšเจฟเฉฑเจคเจฐ เจตเฉ€ เจฐเฉฑเจ– เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค

เจนเฉเจฃ เจ‡เจธ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ–เจพเจธ เจ‰เจฆเจพเจนเจฐเจฃ เจจเจพเจฒ เจตเฉ‡เจ–เฉ€เจเฅค

เจธเจฟเจ–เจฒเจพเจˆ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจตเจฐเจคเจพเจ‚เจ—เฉ‡ เจธเจงเจพเจฐเจจ เจชเฉเจฐเจคเฉ€เจ•เจฟเจฐเจฟเจ† เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ, create-react-app เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจŸเฉ‚เจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ†เฅค

เจ‡เจน เจธเจพเจจเฉ‚เฉฐ เจธเจญ เจ•เฉเจ เจ‡เจ•เฉฑเจ เฉ‡ เจฐเฉฑเจ–เจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเฉ‡เจ—เจพ OpenShift เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจซเจพเจˆเจฒ.

เจ†เจ‰ เจ‡เจธ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจนเฉ‹เจฐ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจš เจตเฉ‡เจ–เฉ€เจ, เจ…เจคเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจธเฉˆเจ•เจธเจผเจจ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ€เจ.

parameters:
  - name: SOURCE_REPOSITORY_URL
    description: The source URL for the application
    displayName: Source URL
    required: true
  - name: SOURCE_REPOSITORY_REF
    description: The branch name for the application
    displayName: Source Branch
    value: master
    required: true
  - name: SOURCE_REPOSITORY_DIR
    description: The location within the source repo of the application
    displayName: Source Directory
    value: .
    required: true
  - name: OUTPUT_DIR
    description: The location of the compiled static files from your web apps builder
    displayName: Output Directory
    value: build
    required: false

เจ‡เฉฑเจฅเฉ‡ เจธเจญ เจ•เฉเจ เจฌเจนเฉเจค เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ, เจชเจฐ เจ‡เจน OUTPUT_DIR เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจตเฉฑเจฒ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจนเฉˆเฅค เจธเจพเจกเฉ€ เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš เจฐเฉ€เจเจ•เจŸ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฒเจˆ, เจšเจฟเฉฐเจคเจพ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจˆ เจ—เฉฑเจฒ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฐเฉ€เจเจ•เจŸ เจกเจฟเจซเฉŒเจฒเจŸ เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจซเฉ‹เจฒเจกเจฐ เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจฆเจพ เจนเฉˆ, เจชเจฐ เจเจ‚เจ—เฉเจฒเจฐ เจœเจพเจ‚ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจšเฉ€เจœเจผ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจ‡เจธ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเฉ‚เฉฐ เจฒเฉ‹เฉœ เจ…เจจเฉเจธเจพเจฐ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค

เจ†เจ“ เจนเฉเจฃ เจ‡เจฎเฉ‡เจœเจธเจŸเฉเจฐเฉ€เจฎเจœเจผ เจธเฉˆเจ•เจธเจผเจจ 'เจคเฉ‡ เจ‡เฉฑเจ• เจจเจœเจผเจฐ เจฎเจพเจฐเฉ€เจเฅค

- apiVersion: v1
  kind: ImageStream
  metadata:
    name: react-web-app-builder  // 1 
  spec: {}
- apiVersion: v1
  kind: ImageStream
  metadata:
    name: react-web-app-runtime  // 2 
  spec: {}
- apiVersion: v1
  kind: ImageStream
  metadata:
    name: web-app-builder-runtime // 3
  spec:
    tags:
    - name: latest
      from:
        kind: DockerImage
        name: nodeshift/ubi8-s2i-web-app:10.x
- apiVersion: v1
  kind: ImageStream
  metadata:
    name: nginx-image-runtime // 4
  spec:
    tags:
    - name: latest
      from:
        kind: DockerImage
        name: 'centos/nginx-112-centos7:latest'

เจคเฉ€เจœเฉ‡ เจ…เจคเฉ‡ เจšเฉŒเจฅเฉ‡ เจšเจฟเฉฑเจคเจฐเจพเจ‚ 'เจคเฉ‡ เจ‡เฉฑเจ• เจจเจœเจผเจฐ เจฎเจพเจฐเฉ‹เฅค เจ‰เจน เจฆเฉ‹เจตเฉ‡เจ‚ เจกเฉŒเจ•เจฐ เจšเจฟเฉฑเจคเจฐเจพเจ‚ เจตเจœเฉ‹เจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ, เจ…เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจธเจชเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ‰เจน เจ•เจฟเฉฑเจฅเฉ‹เจ‚ เจ†เจ‰เจ‚เจฆเฉ‡ เจนเจจ.

เจคเฉ€เจœเจพ เจšเจฟเฉฑเจคเจฐ เจตเฉˆเฉฑเจฌ-เจเจช-เจฌเจฟเจฒเจกเจฐ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน nodeshift/ubi8-s2i-web-app เจŸเฉˆเจ— เจ•เฉ€เจคเฉ‡ 10.x เจคเฉ‹เจ‚ เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ เจกเฉŒเจ•เจฐ เจนเฉฑเจฌ.

เจšเฉŒเจฅเจพ เจ‡เฉฑเจ• NGINX เจšเจฟเฉฑเจคเจฐ (เจตเจฐเจœเจจ 1.12) เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจจเจตเฉ€เจจเจคเจฎ เจŸเฉˆเจ— เจนเฉˆ เจกเฉŒเจ•เจฐ เจนเฉฑเจฌ.

เจ†เจ“ เจนเฉเจฃ เจชเจนเจฟเจฒเฉ€เจ†เจ‚ เจฆเฉ‹ เจคเจธเจตเฉ€เจฐเจพเจ‚ เจฆเฉ‡เจ–เฉ€เจเฅค เจ‰เจน เจฆเฉ‹เจตเฉ‡เจ‚ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจ–เจพเจฒเฉ€ เจนเจจ เจ…เจคเฉ‡ เจธเจฟเจฐเจซ เจฌเจฟเจฒเจก เจชเฉœเจพเจ… เจฆเฉŒเจฐเจพเจจ เจฌเจฃเจพเจ เจ—เจ เจนเจจเฅค เจชเจนเจฟเจฒเฉ€ เจšเจฟเฉฑเจคเจฐ, react-web-app-builder, เจ‡เฉฑเจ• เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจชเฉœเจพเจ… เจฆเจพ เจจเจคเฉ€เจœเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ เจœเฉ‹ เจตเฉˆเจฌ-เจเจช-เจฌเจฟเจฒเจกเจฐ-เจฐเจจเจŸเจพเจˆเจฎ เจšเจฟเฉฑเจคเจฐ เจ…เจคเฉ‡ เจธเจพเจกเฉ‡ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจœเฉ‹เฉœ เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจจเจพเจฎ เจตเจฟเฉฑเจš "-เจฌเจฟเจฒเจกเจฐ" เจœเฉ‹เฉœเจฟเจ† เจนเฉˆเฅค

เจฆเฉ‚เจœเจพ เจšเจฟเฉฑเจคเจฐ - react-web-app-runtime - nginx-image-runtime เจ…เจคเฉ‡ react-web-app-builder เจšเจฟเฉฑเจคเจฐ เจคเฉ‹เจ‚ เจ•เฉเจ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฆเจพ เจจเจคเฉ€เจœเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ‡เจน เจšเจฟเฉฑเจคเจฐ เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉŒเจฐเจพเจจ เจตเฉ€ เจตเจฐเจคเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซเจผ เจตเฉˆเฉฑเจฌ เจธเจฐเจตเจฐ เจ…เจคเฉ‡ เจธเจพเจกเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเจพ เจธเจฅเจฟเจฐ HTML, JavaScript, CSS เจธเจผเจพเจฎเจฒ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจ‰เจฒเจเจฃ? เจ†เจ“ เจนเฉเจฃ เจฌเจฟเจฒเจก เจธเฉฐเจฐเจšเจจเจพเจตเจพเจ‚ 'เจคเฉ‡ เจ‡เฉฑเจ• เจจเจœเจผเจฐ เจฎเจพเจฐเฉ€เจ เจ…เจคเฉ‡ เจ‡เจน เจฅเฉ‹เฉœเจพ เจธเจชเฉฑเจธเจผเจŸ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพ.

เจธเจพเจกเฉ‡ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจฆเฉ€เจ†เจ‚ เจฆเฉ‹ เจฌเจฟเจฒเจก เจธเฉฐเจฐเจšเจจเจพเจตเจพเจ‚ เจนเจจเฅค เจ‡เฉฑเจฅเฉ‡ เจชเจนเจฟเจฒเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจ•เจพเจซเจผเฉ€ เจฎเจฟเจ†เจฐเฉ€ เจนเฉˆ:

  apiVersion: v1
  kind: BuildConfig
  metadata:
    name: react-web-app-builder
  spec:
    output:
      to:
        kind: ImageStreamTag
        name: react-web-app-builder:latest // 1
    source:   // 2 
      git:
        uri: ${SOURCE_REPOSITORY_URL}
        ref: ${SOURCE_REPOSITORY_REF}
      contextDir: ${SOURCE_REPOSITORY_DIR}
      type: Git
    strategy:
      sourceStrategy:
        env:
          - name: OUTPUT_DIR // 3 
            value: ${OUTPUT_DIR}
        from:
          kind: ImageStreamTag
          name: web-app-builder-runtime:latest // 4
        incremental: true // 5
      type: Source
    triggers: // 6
    - github:
        secret: ${GITHUB_WEBHOOK_SECRET}
      type: GitHub
    - type: ConfigChange
    - imageChange: {}
      type: ImageChange

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจฒเฉ‡เจฌเจฒ 1 เจตเจพเจฒเฉ€ เจฒเจพเจˆเจจ เจ•เจนเจฟเฉฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ‡เจธ เจฌเจฟเจฒเจก เจฆเจพ เจจเจคเฉ€เจœเจพ เจ‰เจธเฉ‡ เจชเฉเจฐเจคเฉ€เจ•เจฟเจฐเจฟเจ†-เจตเฉˆเฉฑเจฌ-เจเจช-เจฌเจฟเจฒเจกเจฐ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจœเจพเจตเฉ‡เจ—เจพ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจšเจฟเฉฑเจคเจฐเจธเจŸเฉเจฐเฉ€เจฎ เจธเฉˆเจ•เจธเจผเจจ เจตเจฟเฉฑเจš เจฅเฉ‹เฉœเจพ เจชเจนเจฟเจฒเจพเจ‚ เจฆเฉ‡เจ–เจฟเจ† เจธเฉ€เฅค

2 เจฒเฉ‡เจฌเจฒ เจตเจพเจฒเฉ€ เจฒเจพเจˆเจจ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ•เฉ‹เจก เจ•เจฟเฉฑเจฅเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจนเฉˆเฅค เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ‡เจน เจ‡เฉฑเจ• เจ—เจฟเฉฑเจŸ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจฅเจพเจจ, เจฐเฉˆเจซ เจ…เจคเฉ‡ เจธเฉฐเจฆเจฐเจญ เจซเฉ‹เจฒเจกเจฐ เจ‰เจนเจจเจพเจ‚ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‰เฉฑเจชเจฐ เจตเฉ‡เจ– เจšเฉเฉฑเจ•เฉ‡ เจนเจพเจ‚เฅค

3 เจฒเฉ‡เจฌเจฒ เจตเจพเจฒเฉ€ เจฒเจพเจˆเจจ เจ‰เจน เจนเฉˆ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจญเจพเจ— เจตเจฟเฉฑเจš เจตเฉ‡เจ– เจšเฉเฉฑเจ•เฉ‡ เจนเจพเจ‚เฅค เจ‡เจน OUTPUT_DIR เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจธเจพเจกเฉ€ เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš เจฌเจฟเจฒเจก เจนเฉˆเฅค
4 เจฒเฉ‡เจฌเจฒ เจตเจพเจฒเฉ€ เจฒเจพเจˆเจจ เจตเฉˆเจฌ-เจเจช-เจฌเจฟเจฒเจกเจฐ-เจฐเจจเจŸเจพเจˆเจฎ เจšเจฟเฉฑเจคเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฒเจˆ เจ•เจนเจฟเฉฐเจฆเฉ€ เจนเฉˆ, เจœเจฟเจธ เจจเฉ‚เฉฐ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจšเจฟเฉฑเจคเจฐเจธเจŸเฉเจฐเฉ€เจฎ เจญเจพเจ— เจตเจฟเฉฑเจš เจฆเฉ‡เจ–เจฟเจ† เจนเฉˆเฅค

5 เจฒเฉ‡เจฌเจฒ เจตเจพเจฒเฉ€ เจฒเจพเจˆเจจ เจ•เจนเจฟเฉฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจตเจพเจงเฉ‡ เจตเจพเจฒเฉ‡ เจฌเจฟเจฒเจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจœเฉ‡เจ•เจฐ S2I เจšเจฟเฉฑเจคเจฐ เจ‡เจธเจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจตเฉˆเฉฑเจฌ เจเจช เจฌเจฟเจฒเจกเจฐ เจšเจฟเฉฑเจคเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเจนเจฟเจฒเฉ€ เจฒเจพเจ‚เจš 'เจคเฉ‡, เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจชเฉœเจพเจ… เจชเฉ‚เจฐเจพ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจšเจฟเฉฑเจคเจฐ node_modules เจซเฉ‹เจฒเจกเจฐ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ†เจฐเจ•เจพเจˆเจต เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเฉ‡เจ—เจพเฅค เจซเจฟเจฐ, เจ…เจ—เจฒเฉ€เจ†เจ‚ เจฆเฉŒเฉœเจพเจ‚ 'เจคเฉ‡, เจšเจฟเฉฑเจคเจฐ เจฌเจฟเจฒเจก เจŸเจพเจˆเจฎ เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‰เจฃ เจฒเจˆ เจ‡เจธ เจซเฉ‹เจฒเจกเจฐ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจ…เจจเจœเจผเจฟเจช เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค

เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, 6 เจฒเฉ‡เจฌเจฒ เจตเจพเจฒเฉ€ เจฒเจพเจˆเจจ เจฌเจฟเจฒเจก เจจเฉ‚เฉฐ เจธเจตเฉˆเจšเจฒเจฟเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ, เจฆเจธเจคเฉ€ เจฆเจ–เจฒ เจฆเฉ‡ เจฌเจฟเจจเจพเจ‚, เจœเจฆเฉ‹เจ‚ เจ•เฉเจ เจฌเจฆเจฒเจฆเจพ เจนเฉˆ, เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เฉเจ เจŸเจฐเจฟเฉฑเจ—เจฐ เจนเจจเฅค

เจ•เฉเฉฑเจฒ เจฎเจฟเจฒเจพ เจ•เฉ‡ เจ‡เจน เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจฎเจฟเจ†เจฐเฉ€ เจฌเจฟเจฒเจก เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจนเฉˆเฅค

เจ†เจ‰ เจนเฉเจฃ เจฆเฉ‚เจœเฉ€ เจฌเจฟเจฒเจก เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจคเฉ‡ เจ‡เฉฑเจ• เจจเจœเจผเจฐ เจฎเจพเจฐเฉ€เจเฅค เจ‡เจน เจชเจนเจฟเจฒเฉ‡ เจฆเฉ‡ เจธเจฎเจพเจจ เจนเฉˆ, เจชเจฐ เจ‡เฉฑเจ• เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจ…เฉฐเจคเจฐ เจนเฉˆ.

apiVersion: v1
  kind: BuildConfig
  metadata:
    name: react-web-app-runtime
  spec:
    output:
      to:
        kind: ImageStreamTag
        name: react-web-app-runtime:latest // 1
    source: // 2
      type: Image
      images:                              
        - from:
            kind: ImageStreamTag
            name: react-web-app-builder:latest // 3
          paths:
            - sourcePath: /opt/app-root/output/.  // 4
              destinationDir: .  // 5
             
    strategy: // 6
      sourceStrategy:
        from:
          kind: ImageStreamTag
          name: nginx-image-runtime:latest
        incremental: true
      type: Source
    triggers:
    - github:
        secret: ${GITHUB_WEBHOOK_SECRET}
      type: GitHub
    - type: ConfigChange
    - type: ImageChange
      imageChange: {}
    - type: ImageChange
      imageChange:
        from:
          kind: ImageStreamTag
          name: react-web-app-builder:latest // 7

เจ‡เจธ เจฒเจˆ เจฆเฉ‚เจœเฉ€ เจฌเจฟเจฒเจก เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจฐเฉ€เจเจ•เจŸ-เจตเฉˆเจฌ-เจเจช-เจฐเจจเจŸเจพเจˆเจฎ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจฌเจนเฉเจค เจฎเจฟเจ†เจฐเฉ€ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค

1 เจฒเฉ‡เจฌเจฒ เจตเจพเจฒเฉ€ เจฒเจพเจˆเจจ เจ•เฉ‹เจˆ เจจเจตเฉ€เจ‚ เจ—เฉฑเจฒ เจจเจนเฉ€เจ‚ เจนเฉˆ - เจ‡เจน เจธเจฟเจฐเจซเจผ เจ‡เจน เจ•เจนเจฟเฉฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจฌเจฟเจฒเจก เจจเจคเฉ€เจœเจพ เจฐเฉ€เจเจ•เจŸ-เจตเฉˆเจฌ-เจเจช-เจฐเจจเจŸเจพเจˆเจฎ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ.

2 เจฒเฉ‡เจฌเจฒ เจตเจพเจฒเฉ€ เจฒเจพเจˆเจจ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเจฟเจ›เจฒเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš, เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ•เจฟ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจ•เจฟเฉฑเจฅเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจนเฉˆเฅค เจชเจฐ เจงเจฟเจ†เจจ เจฆเจฟเจ“ เจ•เจฟ เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจ•เจนเจฟ เจฐเจนเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ‡เจน เจšเจฟเฉฑเจคเจฐ เจคเฉ‹เจ‚ เจฒเจฟเจ† เจ—เจฟเจ† เจนเฉˆ. เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจšเจฟเฉฑเจคเจฐ เจคเฉ‹เจ‚ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจนเฉเจฃเฉ‡ เจฌเจฃเจพเจˆ เจนเฉˆ - เจชเฉเจฐเจคเฉ€เจ•เจฟเจฐเจฟเจ†-เจตเฉˆเจฌ-เจเจช-เจฌเจฟเจฒเจกเจฐ เจคเฉ‹เจ‚ (3 เจฒเฉ‡เจฌเจฒ เจตเจพเจฒเฉ€ เจฒเจพเจˆเจจ เจตเจฟเฉฑเจš เจฆเจฐเจธเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ)เฅค เจœเจฟเจนเฉœเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจ…เจธเฉ€เจ‚ เจตเจฐเจคเจฃเฉ€เจ†เจ‚ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจ‰เจน เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจนเจจ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจธเจฅเจพเจจ 4 เจฒเฉ‡เจฌเจฒ เจตเจพเจฒเฉ€ เจฒเจพเจˆเจจ เจตเจฟเฉฑเจš เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจ‡เจน /opt/app-root/output/ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฏเจพเจฆ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจ‰เจน เจฅเจพเจ‚ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจธเจพเจกเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ‡ เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจฒเฉ‡เจฌเจฒ 5 เจฆเฉ‡ เจจเจพเจฒ เจธเจผเจฌเจฆ เจตเจฟเฉฑเจš เจจเจฟเจฐเจฆเจฟเจธเจผเจŸ เจฎเฉฐเจœเจผเจฟเจฒ เจซเฉ‹เจฒเจกเจฐ เจธเจฟเจฐเจซเจผ เจฎเฉŒเจœเฉ‚เจฆเจพ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจนเฉˆ (เจ‡เจน เจธเจญ เจ•เฉเจ เจนเฉˆ, เจฏเจพเจฆ เจฐเฉฑเจ–เฉ‹, เจ“เจชเจจเจธเจผเจฟเจซเจŸ เจจเจพเจฎเจ• เจ•เจฟเจธเฉ‡ เจœเจพเจฆเฉ‚เจˆ เจšเฉ€เจœเจผ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆ, เจจเจพ เจ•เจฟ เจคเฉเจนเจพเจกเฉ‡ เจธเจฅเจพเจจเจ• เจ•เฉฐเจชเจฟเจŠเจŸเจฐ 'เจคเฉ‡)เฅค

เจฐเจฃเจจเฉ€เจคเฉ€ เจญเจพเจ— - 6 เจฒเฉ‡เจฌเจฒ เจตเจพเจฒเฉ€ เจฒเจพเจˆเจจ - เจตเฉ€ เจชเจนเจฟเจฒเฉ€ เจฌเจฟเจฒเจก เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจฆเฉ‡ เจธเจฎเจพเจจ เจนเฉˆเฅค เจ•เฉ‡เจตเจฒ เจ‡เจธ เจตเจพเจฐ เจ…เจธเฉ€เจ‚ nginx-image-runtime เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจœเจพ เจฐเจนเฉ‡ เจนเจพเจ‚, เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจšเจฟเฉฑเจคเจฐเจธเจŸเฉเจฐเฉ€เจฎ เจญเจพเจ— เจตเจฟเฉฑเจš เจฆเฉ‡เจ–เจฟเจ† เจนเฉˆ.

เจ…เฉฐเจค เจตเจฟเฉฑเจš, 7 เจฒเฉ‡เจฌเจฒ เจตเจพเจฒเฉ€ เจฒเจพเจˆเจจ เจŸเจฐเจฟเจ—เจฐเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจญเจพเจ— เจนเฉˆ เจœเฉ‹ เจนเจฐ เจตเจพเจฐ เจชเฉเจฐเจคเฉ€เจ•เจฟเจฐเจฟเจ†-เจตเฉˆเฉฑเจฌ-เจเจช-เจฌเจฟเจฒเจกเจฐ เจšเจฟเฉฑเจคเจฐ เจฌเจฆเจฒเจฃ 'เจคเฉ‡ เจ‡เจธ เจฌเจฟเจฒเจก เจจเฉ‚เฉฐ เจธเจฐเจ—เจฐเจฎ เจ•เจฐเฉ‡เจ—เฉ€เฅค

เจจเจนเฉ€เจ‚ เจคเจพเจ‚, เจ‡เจธ เจŸเฉˆเจฎเจชเจฒเฉ‡เจŸ เจตเจฟเฉฑเจš เจชเจฐเฉˆเจŸเฉ€ เจธเจŸเฉˆเจ‚เจกเจฐเจก เจกเจฟเจชเจฒเจพเจ‡เจฎเฉˆเจ‚เจŸ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจธเจผเจพเจฎเจฒ เจนเฉˆ, เจจเจพเจฒ เจนเฉ€ เจ‰เจน เจšเฉ€เจœเจผเจพเจ‚ เจœเฉ‹ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจฐเฉ‚เจŸเจพเจ‚ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเจจ, เจชเจฐ เจ…เจธเฉ€เจ‚ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจตเฉ‡เจฐเจตเฉ‡ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจœเจพเจตเจพเจ‚เจ—เฉ‡เฅค เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจงเจฟเจ†เจจ เจฆเจฟเจ“ เจ•เจฟ เจœเฉ‹ เจšเจฟเฉฑเจคเจฐ เจคเฉˆเจจเจพเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ เจ‰เจน เจชเฉเจฐเจคเฉ€เจ•เจฟเจฐเจฟเจ†-เจตเฉˆเฉฑเจฌ-เจเจช-เจฐเจจเจŸเจพเจˆเจฎ เจšเจฟเฉฑเจคเจฐ เจนเฉˆเฅค

เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจคเฉˆเจจเจพเจคเฉ€

เจ‡เจธ เจฒเจˆ เจนเฉเจฃ เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฟเจ† เจนเฉˆ, เจ†เจ“ เจตเฉ‡เจ–เฉ€เจ เจ•เจฟ เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจตเจฐเจคเจฃเจพ เจนเฉˆเฅค

เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจค เจ•เจฐเจจ เจฒเจˆ เจ“เจชเจจเจธเจผเจฟเจซเจŸ เจ•เจฒเจพเจ‡เฉฐเจŸ เจŸเฉ‚เจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚:

$ find . | grep openshiftio | grep application | xargs -n 1 oc apply -f

$ oc new-app --template react-web-app -p SOURCE_REPOSITORY_URL=https://github.com/lholmquist/react-web-app

เจ‰เฉฑเจชเจฐ เจฆเจฟเฉฑเจคเฉ‡ เจธเจ•เฉเจฐเฉ€เจจเจธเจผเฉŒเจŸ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเฉ€ เจ•เจฎเจพเจ‚เจก เจ‡เฉฑเจ• เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ./openshiftio/application.yaml เจจเฉ‚เฉฐ เจฒเฉฑเจญเจฃ เจฆเจพ เจ‡เฉฑเจ• เจœเจพเจฃเจฌเฉเฉฑเจ เจ•เฉ‡ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐเจฟเฉฐเจ— เจคเจฐเฉ€เจ•เจพ เจนเฉˆเฅค

เจฆเฉ‚เจœเฉ€ เจ•เจฎเจพเจ‚เจก เจ‡เจธ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆเฅค

เจ‡เจนเจจเจพเจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจธเฉ€เจ‚ เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡ เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจฆเฉ‹ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€เจ†เจ‚ เจนเจจ:

OpenShift 'เจคเฉ‡ เจ†เจงเฉเจจเจฟเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ, เจญเจพเจ— 2: เจšเฉ‡เจจเจก เจฌเจฟเจฒเจกเจธ

เจ…เจคเฉ‡ เจ“เจตเจฐเจตเจฟเจŠ เจธเจ•เฉเจฐเฉ€เจจ เจคเฉ‡ เจตเจพเจชเจธ เจ†เจ‰เจฃเจพ, เจ…เจธเฉ€เจ‚ เจฒเจพเจ‚เจš เจ•เฉ€เจคเฉ‡ เจชเฉŒเจก เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡:

OpenShift 'เจคเฉ‡ เจ†เจงเฉเจจเจฟเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ, เจญเจพเจ— 2: เจšเฉ‡เจจเจก เจฌเจฟเจฒเจกเจธ

เจฒเจฟเฉฐเจ• 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจธเจพเจกเฉ€ เจเจช 'เจคเฉ‡ เจฒเจฟเจœเจพเจ‡เจ† เจœเจพเจตเฉ‡เจ—เจพ, เจœเฉ‹ เจ•เจฟ เจกเจฟเจซเฉŒเจฒเจŸ เจฐเฉ€เจเจ•เจŸ เจเจช เจชเฉฐเจจเจพ เจนเฉˆ:

OpenShift 'เจคเฉ‡ เจ†เจงเฉเจจเจฟเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ, เจญเจพเจ— 2: เจšเฉ‡เจจเจก เจฌเจฟเจฒเจกเจธ

เจชเฉ‚เจฐเจ• 1

เจ•เฉ‹เจฃ เจชเฉเจฐเฉ‡เจฎเฉ€เจ†เจ‚ เจฒเจˆ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจตเฉ€ เจนเฉˆ เจ‰เจฆเจพเจนเจฐเจจ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ.

OUTPUT_DIR เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเฉ‚เฉฐ เจ›เฉฑเจก เจ•เฉ‡, เจ‡เฉฑเจฅเฉ‡ เจชเฉˆเจŸเจฐเจจ เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเจพ เจนเฉˆเฅค

เจชเฉ‚เจฐเจ• 2

เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ NGINX เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเฉˆเจฌ เจธเจฐเจตเจฐ เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจฟเจ† เจนเฉˆ, เจชเจฐ เจ‡เจธเจจเฉ‚เฉฐ เจ…เจชเจพเจšเฉ‡ เจจเจพเจฒ เจฌเจฆเจฒเจฃเจพ เจ•เจพเจซเจผเฉ€ เจ†เจธเจพเจจ เจนเฉˆ, เจธเจฟเจฐเจซเจผ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจฌเจฆเจฒเฉ‹ NGINX เจšเจฟเฉฑเจคเจฐ 'เจคเฉ‡ เจ…เจชเจพเจšเฉ‡ เจšเจฟเฉฑเจคเจฐ.

เจธเจฟเฉฑเจŸเจพ

เจ‡เจธ เจฒเฉœเฉ€ เจฆเฉ‡ เจชเจนเจฟเจฒเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจฆเจฟเจ–เจพเจ‡เจ† เจนเฉˆ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚ เจ“เจชเจจเจธเจผเจฟเจซเจŸ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ 'เจคเฉ‡ เจ†เจงเฉเจจเจฟเจ• เจตเฉˆเฉฑเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจนเฉˆเฅค เจ…เฉฑเจœ เจ…เจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฟเจ† เจ•เจฟ เจ‡เฉฑเจ• เจตเฉˆเฉฑเจฌ เจเจช เจšเจฟเฉฑเจคเจฐ เจ•เฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจผเฉเฉฑเจง เจตเฉˆเจฌ เจธเจฐเจตเจฐ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ NGINX เจจเจพเจฒ เจœเฉ‹เฉœเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจ•เจฟ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ‰เจคเจชเจพเจฆเจจ-เจคเจฟเจ†เจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฌเจฟเจฒเจก เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจšเฉ‡เจจเจก เจฌเจฟเจฒเจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เฉ‡เฅค เจ‡เจธ เจฒเฉœเฉ€ เจฆเฉ‡ เจ…เจ—เจฒเฉ‡ เจ…เจคเฉ‡ เจ…เฉฐเจคเจฎ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจฆเจฟเจ–เจพเจตเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚ OpenShift 'เจคเฉ‡ เจคเฉเจนเจพเจกเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเจ•เจพเจธ เจธเจฐเจตเจฐ เจšเจฒเจพเจ‰เจฃเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเจฅเจพเจจเจ• เจ…เจคเฉ‡ เจฐเจฟเจฎเฉ‹เจŸ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจธเจฎเจ•เจพเจฒเฉ€เจ•เจฐเจจ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ เจนเฉˆเฅค

เจฒเฉ‡เจ–เจพเจ‚ เจฆเฉ€ เจ‡เจธ เจฒเฉœเฉ€ เจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€

  • เจญเจพเจ— 1: เจ†เจงเฉเจจเจฟเจ• เจตเฉˆเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจ เจ•เจฆเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจฟเจตเฉ‡เจ‚ เจคเฉˆเจจเจพเจค เจ•เจฐเจจเจพ เจนเฉˆ;
  • เจญเจพเจ— 2: เจ‡เฉฑเจ• เจฎเฉŒเจœเฉ‚เจฆเจพ HTTP เจธเจฐเจตเจฐ เจšเจฟเฉฑเจคเจฐ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ NGINX, เจ‰เจคเจชเจพเจฆเจจ เจคเฉˆเจจเจพเจคเฉ€ เจฒเจˆ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจ“เจชเจจเจธเจผเจฟเจซเจŸ เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ S2I เจšเจฟเฉฑเจคเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเฉ€เจ;
  • เจญเจพเจ— 3: OpenShift เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ 'เจคเฉ‡ เจคเฉเจนเจพเจกเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเจ•เจพเจธ เจธเจฐเจตเจฐ เจ•เจฟเจตเฉ‡เจ‚ เจšเจฒเจพเจ‰เจฃเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจธเจฅเจพเจจเจ• เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจจเจพเจฒ เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจพเจˆเจœเจผ เจ•เจฐเจจเจพ เจนเฉˆเฅค

เจตเจงเฉ€เจ• เจธเจฐเฉ‹เจค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹