เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ•เปเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เปƒเบ™เป€เบงเบ—เบตเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ

เบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆเบ—เบตเปˆ True Engineering เป„เบ”เป‰เบ•เบฑเป‰เบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เปƒเบซเป‰เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เปเบšเปˆเบ‡เบ›เบฑเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ™เบตเป‰.

เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบฅเบฐเบšเบปเบšเบญเบญเบ™เป„เบฅเบ™เปŒเบชเปเบฒเบฅเบฑเบšเบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบเบธเปˆเบก Kubernetes เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบเบฒเบ™เป‚เบซเบผเบ”เบชเบนเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเป‰เบฒเบเป„เบ›เบขเบนเปˆเปƒเบ™เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ, เป€เบŠเบดเปˆเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ. เบ‚เปเบ‚เบญเบšเปƒเบˆเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฅเบฑเปˆเบ‡เป€เบงเบฅเบฒเบ•เบฐเบซเบผเบฒเบ” - เบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™.

เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ Deployment (CD) เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบซเบผเบทเบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เบเบฑเบšเป€เบงเบ—เบตเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ:

  1. เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ™เบตเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบ™เบงเปƒเบ”?
  2. synchronization เบเบฑเบš Git repository เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ,
  3. เบเบฒเบ™เบ›เบฐเบเบญเบšเบ‚เบญเบ‡ backend เปเบฅเบฐ frontend,
  4. เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹เปƒเบ™โ€‹เบชเบฐโ€‹เบžเบฒเบšโ€‹เปเบงเบ”โ€‹เบฅเป‰เบญเบกโ€‹เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹,
  5. เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบเบฑเบš Prod.

เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป„เบ›เบ™เบณ.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ•เปเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เปƒเบ™เป€เบงเบ—เบตเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ

1. เป€เบฅเบตเปˆเบก CD

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป‚เบ”เบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป‰เบŠเบธเบเบเบนเป‰เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบชเบฒเบ‚เบฒเบเบฒเบ™เบ›เปˆเบญเบเบ‚เบญเบ‡เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ Git เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.

เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบˆเบธเบฅเบฐเบžเบฒเบ เปเบฅเบฐเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบฑเบ‡เปเบปเบ”เบ‚เบญเบ‡เบกเบฑเบ™เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบญเบฑเบ™เบ”เบฝเบง. เบ‚เปเบ‚เบญเบšเปƒเบˆเบเบฑเบšเบ™เบตเป‰, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบ™เบฅเบฐเบžเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ”เป‰เบ–เบทเบเป€เบเบฑเบšเบเปเบฒเปเบฅเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เปƒเบ™เบ™เบฑเป‰เบ™เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡.

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบœเปˆเบฒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบญเบฑเบ™เปœเบถเปˆเบ‡เบ”เป‰เบงเบเป€เบซเบ”เบœเบปเบ™เบซเบผเบฒเบเบขเปˆเบฒเบ‡:

  • เบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ - เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบเปเบฒเบฅเบฑเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒเบขเปˆเบฒเบ‡เบซเป‰เบฒเบงเบซเบฑเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบฅเบฐเบซเบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™.
  • เบ—เปเปˆ CI/CD เบ”เบฝเบงเบ—เบตเปˆเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบ›เบฑเบ™เบฅเบฐเบšเบปเบšเบ”เบฝเบงเบœเปˆเบฒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ.
  • เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบˆเบฑเบ”เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เปƒเบ™เบชเบฐเบšเบฑเบš - เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเปเบœเบ™เบ—เบตเปˆเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ microservices เปเบฅเบฐเบญเบฐเบ—เบดเบšเบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ microservice เปƒเบ™ Helm scripts.

2. synchronization เบเบฑเบš Git repository เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เบˆเบฐเบ–เบทเบ synchronized เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบเบฑเบšเบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™ Git เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ. เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เบเบฒเบ™เบ›เบฐเบเบญเบšเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบชเบฒเบ‚เบฒ, เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เปเปˆเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡. เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบฑเบ‡เบชเบญเบ‡เบกเบตเบ•เบปเป‰เบ™เบเปเบฒเป€เบ™เบตเบ”เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบˆเบฒเบเบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™ Git.

เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš repository เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเป‚เบ”เบเบเบปเบ‡เป„เบ”เป‰เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš. เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™ Git เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบžเบทเปˆเบญเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰ - เบกเบฑเบ™เบ–เบทเบ synchronized เบเบฑเบšเบšเปˆเบญเบ™เป€เบเบฑเบš Git เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ›เบฐเบเบฒเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบเบฑเบšเบชเบฒเบ‚เบฒเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบ‚เบญเบ‡ repository เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, GitLab เบ—เบฑเบ™เบ—เบตเบŠเบธเบเบเบนเป‰เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปƒเบซเป‰เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒ.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ•เปเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เปƒเบ™เป€เบงเบ—เบตเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบเบฒเบ™เบ›เบฐเบเบญเบš. เบกเบฑเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบซเบผเบฒเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™: backend เปเบฅเบฐ frontend เบ›เบฐเบเบญเบš, เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบฅเบฐเบเบฒเบ™เบชเบปเปˆเบ‡เบเบฑเบšเบเบฒเบ™เบœเบฐเบฅเบดเบ”.

3. เบเบฒเบ™เบ›เบฐเบเบญเบš backend เปเบฅเบฐ frontend

เบเบฒเบ™เบชเป‰เบฒเบ‡ backend เปเบฅเบฐ frontend เปเบกเปˆเบ™เบชเบญเบ‡เบงเบฝเบเบ‡เบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบš GitLab Runner. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบ›เบฐเบเบญเบšเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ”เบฝเบงเบเบฑเบ™.

Tutorial เบเบฒเบ™เบ‚เบฝเบ™ YAML script เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปƒเบ™ GitLab.

GitLab Runner เป€เบญเบปเบฒเบฅเบฐเบซเบฑเบ”เบˆเบฒเบ repository เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™, เบ›เบฐเบเบญเบšเบกเบฑเบ™เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡ Java application build เปเบฅเบฐเบชเบปเปˆเบ‡เป„เบ›เบ—เบตเปˆ Docker registry. เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบเบญเบš backend เปเบฅเบฐ frontend, เป„เบ”เป‰เบฎเบฑเบšเบฎเบนเบšเบžเบฒเบš Docker, เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบญเบปเบฒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ repository เบ‚เป‰เบฒเบ‡เบฅเบนเบเบ„เป‰เบฒ. เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบฎเบนเบšเบžเบฒเบš Docker เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ เบ›เบฅเบฑเบเบญเบดเบ™ Gradle.

เบžเบงเบเป€เบฎเบปเบฒ synchronize เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เบฎเบนเบšเบžเบฒเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบšเบชเบฐเบšเบฑเบšเบ›เปˆเบญเบเบ—เบตเปˆเบˆเบฐเบˆเบฑเบ”เบžเบตเบกเบกเบฒเปƒเบ™ Docker. เป€เบžเบทเปˆเบญโ€‹เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบ‡เบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบเป‰เบฝเบ‡โ€‹, เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบซเบผเบฒเบโ€‹:

1. เบšเบฑเบ™เบˆเบธเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เปƒเบซเบกเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบฅเบฐเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบœเบฐเบฅเบดเบ”. เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ” parameterizations เป€เบžเบทเปˆเบญเปƒเบซเป‰เบ–เบฑเบ‡เบ”เบฝเบงเบเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”, เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเปเบฅเบฐเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบฑเบ‡เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบฅเบฐเบเบฒเบ™เบœเบฐเบฅเบดเบ”เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบชเป‰เบฒเบ‡เปƒเบซเบกเปˆ.

2. เป€เบžเบทเปˆเบญเบญเบฑเบšเป€เบ”เบ”เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบœเปˆเบฒเบ™ Helm, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบฅเบฐเบšเบธเป€เบงเบตเบŠเบฑเบ™เบ‚เบญเบ‡เบกเบฑเบ™. เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡ backend, frontend เปเบฅเบฐเบ›เบฑเบšเบ›เบธเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ - เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบชเบฒเบกเบซเบ™เป‰เบฒเบงเบฝเบเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบชเบฐเบ™เบฑเป‰เบ™เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰เบชเบฐเบšเบฑเบšเบžเบฒเบชเบฒเบ”เบฝเบงเบเบฑเบ™เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบขเบนเปˆเบ—เบปเปˆเบงเบ—เบธเบเปเบซเปˆเบ‡. เบชเปเบฒเบฅเบฑเบšเบงเบฝเบเบ‡เบฒเบ™เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบ›เบฐเบซเบงเบฑเบ” Git, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบธเปˆเบก K8S เปเบฅเบฐเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™ Git เบ”เบฝเบงเบเบฑเบ™.

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบชเบฐเบšเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบˆเบฒเบเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡
git describe --tags --abbrev=7.

4. เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบฑเบ‡เปเบปเบ”เบ•เปเปˆเบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš (UAT)

เบ‚เบฑเป‰เบ™โ€‹เบ•เบญเบ™โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เปƒเบ™ build script เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ” cluster K8S. เบญเบฑเบ™เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป„เบ”เป‰เบงเปˆเบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบฑเบ‡เปเบปเบ”เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบกเบฒ เปเบฅเบฐเบชเบดเปˆเบ‡เบ›เบญเบกเบ—เบฑเบ‡เปเบปเบ”เป„เบ”เป‰เบ–เบทเบเป€เบœเบตเบเปเบœเปˆเปƒเบ™ Docker Registry. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบตเป‰, เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เบเบธเปˆเบกเปเบกเปˆเบ™เป€เบฅเบตเปˆเบกเบ™เบณเปƒเบŠเป‰ เบญเบฑเบšเป€เบ”เบ” Helm. เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบšเปเปˆเป„เบ”เป‰เป„เบ›เบ•เบฒเบกเปเบœเบ™เบเบฒเบ™, Helm เบˆเบฐเบเบฑเบšเบ„เบทเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปเบฅเบฐเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฒเบ”เบเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบ•เบปเบ™. เบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบฅเบฒเบงเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ„เบงเบšเบ„เบธเบก.

เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบธเปˆเบก K8S เบžเป‰เบญเบกเบเบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบš. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ•เปเปˆเป„เบ›เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบญเบฑเบšเป€เบ”เบ”เบกเบฑเบ™: configMaps, เบเบฒเบ™เบ™เบณเปƒเบŠเป‰, เบšเปเบฅเบดเบเบฒเบ™, เบ„เบงเบฒเบกเบฅเบฑเบš เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ K8S เบญเบทเปˆเบ™เป†เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ›เปˆเบฝเบ™เปเบ›เบ‡.

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ Helm เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ” RollOut เบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš. เบเปˆเบญเบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบˆเบฐเบ–เบทเบเบ™เปเบฒเป„เบ›เปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป€เบžเบทเปˆเบญเปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰เบชเบฒเบกเบฒเบ”เบ—เบปเบ”เบชเบญเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบธเบฅเบฐเบเบดเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบญเบปเบฒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡.

5. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ•เปเปˆเบเบฑเบš Prod

เป€เบžเบทเปˆเบญเบ›เบฑเบšเปƒเบŠเป‰เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบœเบฐเบฅเบดเบ”, เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบปเบ”เบ›เบธเปˆเบกเบ”เบฝเบงเปƒเบ™ GitLab - เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบ—เบฑเบ™เบ—เบต.

เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ”เบฝเบงเบเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™ - เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบฅเบฐเบเบฒเบ™เบœเบฐเบฅเบดเบ” - เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบชเป‰เบฒเบ‡เปƒเบซเบกเปˆ. เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบชเบดเปˆเบ‡เบ›เบฐเบ”เบดเบ”เบ”เบฝเบงเบเบฑเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ”เป†เปƒเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบžเบฒเบเบ™เบญเบ.

เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเป‰เบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบฑเบ‡เปเบปเบ”เบญเบญเบเป„เบ›เบ‚เป‰เบฒเบ‡เบ™เบญเบ: เบ—เบธเบเบขเปˆเบฒเบ‡เบ–เบทเบเบเบณเบ™เบปเบ”เบœเปˆเบฒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ K8S เปเบฅเบฐเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ Helm. เป€เบกเบทเปˆเบญ Helm เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฐเบเบญเบšเบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเบกเบฑเบ™, เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบœเบฐเบฅเบดเบ”.

เบชเบดเปˆเบ‡เบ—เบตเปˆเบเบฒเบเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ„เปˆเบฒเบšเปเบฅเบดเบเบฒเบ™ เปเบฅเบฐเบ•เบปเบงเปเบ›เบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเปƒเบŠเป‰เปเบฅเป‰เบงเบ—เบตเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก, เปเบฅเบฐเปเบ›เบžเบงเบเบกเบฑเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก เปเบฅเบฐเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบชเปเบฒเบฅเบฑเบš Helm.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเบŠเป‰เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก. เบ„เปˆเบฒเบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™เบ–เบทเบเบ•เบฑเป‰เบ‡เป„เบงเป‰เปƒเบ™ containers เป‚เบ”เบเปƒเบŠเป‰ K8S configmap, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบชเป‰เบฒเบ‡เป‚เบ”เบเปƒเบŠเป‰เปเบกเปˆเปเบšเบš Go. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฑเบšเบŠเบทเปˆเป‚เบ”เป€เบกเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

APP_EXTERNAL_DOMAIN: {{ (pluck .Values.global.env .Values.app.properties.app_external_domain | first) }}

.Values.global.env โ€“ เบ•เบปเบงเปเบ›เบ™เบตเป‰เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบŠเบทเปˆเบ‚เบญเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก (prod, เบ‚เบฑเป‰เบ™เบ•เบญเบ™, UAT).
.values.app.properties.app_external_domain โ€“ เปƒเบ™เบ•เบปเบงเปเบ›เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”เป‚เบ”เป€เบกเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบ™เป„เบŸเบฅเปŒ .Values.yaml

เป€เบกเบทเปˆเบญเบญเบฑเบšเป€เบ”เบ”เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, Helm เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ configmap.yaml เบˆเบฒเบเปเบกเปˆเปเบšเบš เปเบฅเบฐเบ•เบทเปˆเบกเบ„เปˆเบฒ APP_EXTERNAL_DOMAIN เบ”เป‰เบงเบเบ„เปˆเบฒเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบ”เบเบ‚เบถเป‰เบ™เบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. เบ•เบปเบงเปเบ›เบ™เบตเป‰เบ–เบทเบเบ•เบฑเป‰เบ‡เป„เบงเป‰เปƒเบ™เบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเปเบฅเป‰เบง. เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‰เบˆเบฒเบเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เปเบ•เปˆเบฅเบฐเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบˆเบฐเบกเบตเบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเปเบ›เบ™เบตเป‰.

เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ K8S เบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™ Spring Cloud, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš configMaps: Spring Cloud Kubernetes. เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเป‚เบ„เบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบขเปˆเบฒเบ‡เบซเป‰เบฒเบงเบซเบฑเบ™ เปเบฅเบฐเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบขเปˆเบฒเบ‡เปเบ‚เบ‡เปเบฎเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”เป„เบ”เป‰. เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เบดเบ”เบ•เบฒเบกเบชเบฐเบžเบฒเบšเบ‚เบญเบ‡เบกเบฑเบ™เบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡ เปเบฅเบฐเปƒเบŠเป‰เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ DEV. เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบกเบฑเบ™เบชเบฐเบ–เบฝเบ™เบฅเบฐเบžเบฒเบš, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ›เปˆเบฝเบ™เบˆเบฒเบเบเบฒเบ™เปƒเบŠเป‰เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป„เบ›เบซเบฒเบกเบฑเบ™.

เบฅเบงเบก

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เปเบกเปˆเบ™เป„เบ”เป‰เบเบณเบ™เบปเบ”เบ„เปˆเบฒ เปเบฅเบฐเป€เบฎเบฑเบ”เบงเบฝเบ. เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เบ—เบฑเบ‡เปเบปเบ”เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบ”เป‰เบงเบเบเบฒเบ™เบเบปเบ”เบ›เบธเปˆเบกเบ”เบฝเบง. เบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เปเบกเปˆเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. เปเบฅเบฐ, เบชเปเบฒเบ„เบฑเบ™, เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบšเปเปˆเป„เบ”เป‰เบขเบธเบ”เบฅเบฐเบšเบปเบš.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ•เปเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เปƒเบ™เป€เบงเบ—เบตเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ

เปเบœเบ™เบเบฒเบ™เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”: เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”

เบžเบงเบเป€เบฎเบปเบฒเบ„เบดเบ”เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบเบปเบเบฅเบฐเบ”เบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบกเป‰เบงเบ™เบ„เบทเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, เบชเบญเบ‡เบชเบฐเบšเบฑเบšเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปเบกเปˆเบ™เปเบฅเปˆเบ™เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™: เบญเบฑเบ™เป€เบเบปเปˆเบฒเปเบกเปˆเบ™เปเบฅเปˆเบ™, เปเบฅเบฐเบญเบฑเบ™เปƒเบซเบกเปˆเปเบกเปˆเบ™เบ‚เบถเป‰เบ™. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ›เบดเบ”เป€เบ„เบทเปˆเบญเบ‡เป€เบเบปเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆเป€เบฎเบฑเบ”เบงเบฝเบ. เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ„เบงเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ—เบฑเบ‡เบชเบญเบ‡เบฎเบธเปˆเบ™เบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เบŠเบทเปˆเบ–เบฑเบ™ เบซเบผเบทเบ‚เปเป‰เบกเบนเบ™เบญเบทเปˆเบ™เป†เป„เบ”เป‰. เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบ„เปเบฅเปเบฒเปƒเบซเบกเปˆ, เบ„เบฑเบ”เบฅเบญเบเบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบ„เปเบฅเปเบฒเป€เบเบปเปˆเบฒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบกเบฑเบ™เปเบฅเบฐเบ‚เบฝเบ™ triggers เบ—เบตเปˆ, เป€เบกเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบ‚เปเป‰เบกเบนเบ™, เบˆเบฐเบ„เบฑเบ”เบฅเบญเบเป„เบ›เบžเป‰เบญเบกเป†เบเบฑเบ™เปเบฅเบฐเบ›เบฑเบšเบ›เบธเบ‡เปƒเบ™เบ–เบฑเบ™เบญเบทเปˆเบ™. เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆ, เบซเบผเบฑเบ‡เบˆเบฒเบเป„เบฅเบเบฐเป€เบงเบฅเบฒเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบง, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบฒเบกเบฒเบ”เบฅเบถเบšเบ–เบฑเบ™เป€เบเบปเปˆเบฒเปเบฅเบฐเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบ—เบตเปˆเป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™.

เบ–เป‰เบฒเป€เบงเบตเบŠเบฑเบ™เปƒเบซเบกเปˆเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบฎเบธเปˆเบ™เบเปˆเบญเบ™, เบฅเบงเบกเบ—เบฑเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบฎเบธเปˆเบ™เบเปˆเบญเบ™. เปƒเบ™เบชเบฑเป‰เบ™, เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบžเป‰เบญเบกเบเบฑเบ™เบเบฑเบšเบซเบผเบฒเบเบฎเบธเปˆเบ™เบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™.

เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบงเบฒเบ‡โ€‹เปเบœเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹เบเบฒเบ™โ€‹เป€เบ„เบทเปˆเบญเบ™โ€‹เบเป‰เบฒเบโ€‹เบ–เบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เป‚เบ”เบโ€‹เบœเปˆเบฒเบ™โ€‹เบเบฒเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบ K8Sโ€‹, เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เป‚เบเบ‡โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เป„เบ›โ€‹เปƒเบ™โ€‹เบ‚เบฐโ€‹เบšเบงเบ™โ€‹เบเบฒเบ™ CDโ€‹. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเปเบ™เปˆเบ™เบญเบ™เบˆเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ™เบตเป‰เบเปˆเบฝเบงเบเบฑเบšHabre.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™