เจตเจฐเจซ เจ•เฉเจฒเฉˆเจ•เจŸเจฐ เจตเจฟเฉฑเจš เจธเจฎเจ—เจฐเฉ€-เจ…เจงเจพเจฐเจฟเจค เจŸเฉˆเจ—เจฟเฉฐเจ—: เจ‡เจน เจ•เจฟเจ‰เจ‚ เจ…เจคเฉ‡ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ?

เจตเจฐเจซ เจ•เฉเจฒเฉˆเจ•เจŸเจฐ เจตเจฟเฉฑเจš เจธเจฎเจ—เจฐเฉ€-เจ…เจงเจพเจฐเจฟเจค เจŸเฉˆเจ—เจฟเฉฐเจ—: เจ‡เจน เจ•เจฟเจ‰เจ‚ เจ…เจคเฉ‡ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ?

werf เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจจเฉ‚เฉฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจกเจฟเจฒเฉ€เจตเจฐ เจ•เจฐเจจ เจฒเจˆ เจธเจพเจกเฉ€ เจ“เจชเจจ เจธเฉ‹เจฐเจธ GitOps CLI เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจนเฉˆเฅค IN เจฐเจฟเจฒเฉ€เจœเจผ v1.1 เจšเจฟเฉฑเจคเจฐ เจ•เฉเจฒเฉˆเจ•เจŸเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€: เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉเจ†เจฐเจพ เจšเจฟเฉฑเจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจŸเฉˆเจ— เจ•เจฐเจจเจพ เจœเจพเจ‚ เจธเจฎเฉฑเจ—เจฐเฉ€-เจ…เจงเจพเจฐเจฟเจค เจŸเฉˆเจ—เจฟเฉฐเจ—. เจนเฉเจฃ เจคเฉฑเจ•, เจตเจฐเจซ เจตเจฟเฉฑเจš เจ†เจฎ เจŸเฉˆเจ—เจฟเฉฐเจ— เจธเจ•เฉ€เจฎ เจตเจฟเฉฑเจš เจ—เจฟเฉฑเจŸ เจŸเฉˆเจ—, เจ—เจฟเฉฑเจŸ เจฌเฉเจฐเจพเจ‚เจš เจœเจพเจ‚ เจ—เจฟเฉฑเจŸ เจ•เจฎเจฟเจŸ เจฆเฉเจ†เจฐเจพ เจกเฉŒเจ•เจฐ เจšเจฟเฉฑเจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจŸเฉˆเจ— เจ•เจฐเจจเจพ เจธเจผเจพเจฎเจฒ เจธเฉ€เฅค เจชเจฐ เจ‡เจนเจจเจพเจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจธเจ•เฉ€เจฎเจพเจ‚ เจฆเฉ‡ เจจเฉเจ•เจธเจพเจจ เจนเจจ เจœเฉ‹ เจจเจตเฉ€เจ‚ เจŸเฉˆเจ—เจฟเฉฐเจ— เจฐเจฃเจจเฉ€เจคเฉ€ เจฆเฉเจ†เจฐเจพ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจนเฉฑเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ. เจ‡เจธ เจฌเจพเจฐเฉ‡ เจตเฉ‡เจฐเจตเฉ‡ เจ…เจคเฉ‡ เจ‡เจน เจ‡เฉฐเจจเจพ เจตเจงเฉ€เจ† เจ•เจฟเจ‰เจ‚ เจนเฉˆ เจ•เฉฑเจŸ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจนเจจเฅค

เจ‡เฉฑเจ• Git เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจตเจฟเจธเจœเจผ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ เจจเฉ‚เฉฐ เจฐเฉ‹เจฒ เจ†เจŠเจŸ เจ•เจฐเจจเจพ

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

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

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

Git เจฌเฉเจฐเจพเจ‚เจš เจ…เจคเฉ‡ Git เจŸเฉˆเจ— เจฆเฉเจ†เจฐเจพ เจŸเฉˆเจ—เจฟเฉฐเจ—

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

เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจ—เจฟเฉฑเจŸ เจŸเฉˆเจ— เจฌเจฃเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ - เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ - เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจกเฉŒเจ•เจฐ เจŸเฉˆเจ— เจกเฉŒเจ•เจฐ เจฐเจœเจฟเจธเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจšเจฟเฉฑเจคเจฐเจพเจ‚ เจฒเจˆ เจฌเจฃเจพเจ‡เจ† เจœเจพเจตเฉ‡เจ—เจพ:

  • myregistry.org/myproject/frontend:v1.1.10
  • myregistry.org/myproject/myservice1:v1.1.10
  • myregistry.org/myproject/myservice2:v1.1.10
  • myregistry.org/myproject/myservice3:v1.1.10
  • myregistry.org/myproject/myservice4:v1.1.10
  • myregistry.org/myproject/myservice5:v1.1.10
  • myregistry.org/myproject/database:v1.1.10

เจ‡เจน เจจเจตเฉ‡เจ‚ เจšเจฟเฉฑเจคเจฐ เจจเจพเจฎ เจนเฉˆเจฒเจฎ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจธ เจฆเฉเจ†เจฐเจพ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจชเจพเจธ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค เจœเจฆเฉ‹เจ‚ เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจคเฉˆเจจเจพเจคเฉ€ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ werf deploy เจ–เฉ‡เจคเจฐ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ image เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฐเจฟเจธเฉ‹เจฐเจธ เจตเจฟเฉฑเจš เจฌเจฆเจฒเฉ‡ เจนเฉ‹เจ เจšเจฟเฉฑเจคเจฐ เจจเจพเจฎ เจฆเฉ‡ เจ•เจพเจฐเจจ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจ—เจŸ เจ…เจคเฉ‡ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเจจเจพเฅค

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

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

เจ—เจฟเฉฑเจŸ เจ•เจฎเจฟเจŸ เจฆเฉเจ†เจฐเจพ เจŸเฉˆเจ—เจฟเฉฐเจ—

werf เจฆเฉ€ เจ‡เฉฑเจ• เจŸเฉˆเจ—เจฟเฉฐเจ— เจฐเจฃเจจเฉ€เจคเฉ€ เจตเฉ€ Git เจ•เจฎเจฟเจŸ เจจเจพเจฒ เจœเฉเฉœเฉ€ เจนเฉ‹เจˆ เจนเฉˆเฅค

Git-commit เจ‡เฉฑเจ• Git เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฒเจˆ เจ‡เฉฑเจ• เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจนเฉˆ เจ…เจคเฉ‡ Git เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจชเจพเจฆเจจ เจ‡เจคเจฟเจนเจพเจธ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจกเฉŒเจ•เจฐ เจฐเจœเจฟเจธเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจšเจฟเฉฑเจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจŸเฉˆเจ— เจ•เจฐเจจ เจฒเจˆ เจ‡เจธเจจเฉ‚เฉฐ เจตเจฐเจคเจฃเจพ เจคเจฐเจ•เจชเฉ‚เจฐเจจ เจœเจพเจชเจฆเจพ เจนเฉˆเฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ—เจฟเฉฑเจŸ เจ•เจฎเจฟเจŸ เจฆเฉเจ†เจฐเจพ เจŸเฉˆเจ—เจฟเฉฐเจ— เจฆเฉ‡ เจ‰เจนเฉ€ เจจเฉเจ•เจธเจพเจจ เจนเจจ เจœเจฟเฉฐเจจเฉ‡ เจ—เจฟเฉฑเจŸ เจธเจผเจพเจ–เจพเจตเจพเจ‚ เจœเจพเจ‚ เจ—เจฟเฉฑเจŸ เจŸเฉˆเจ—เจธ เจฆเฉเจ†เจฐเจพ เจŸเฉˆเจ—เจฟเฉฐเจ—:

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

เจ—เจฟเฉฑเจŸ เจธเจผเจพเจ–เจพ เจฆเจพ เจจเจพเจฎ เจŸเฉˆเจ— เจ•เจฐเจจเจพ เจšเจฟเฉฑเจคเจฐ เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ

เจ—เจฟเฉฑเจŸ เจธเจผเจพเจ–เจพเจตเจพเจ‚ เจฒเจˆ เจŸเฉˆเจ—เจฟเฉฐเจ— เจฐเจฃเจจเฉ€เจคเฉ€ เจจเจพเจฒ เจœเฉเฉœเฉ€ เจ‡เจ• เจนเฉ‹เจฐ เจธเจฎเฉฑเจธเจฟเจ† เจนเฉˆ.

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

เจœเฉ‡เจ•เจฐ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจ•เฉ€เจฎ เจตเจฟเฉฑเจš เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ‡เฉฑเจ• เจ–เจพเจธ เจธเจผเจพเจ–เจพ เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจ‡เฉฑเจ• เจชเฉเจฐเจพเจฃเฉ€ เจชเฉเจฐเจคเฉ€เจฌเฉฑเจงเจคเจพ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ‰เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ werf เจชเฉเจฐเจพเจฃเฉ€ เจชเฉเจฐเจคเฉ€เจฌเฉฑเจงเจคเจพ เจฒเจˆ เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจฌเจฃเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ‡ เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจกเฉŒเจ•เจฐ เจŸเฉˆเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฒเจฟเจ– เจฆเฉ‡เจตเฉ‡เจ—เจพ. เจนเฉเจฃ เจคเฉ‹เจ‚ เจ‡เจธ เจŸเฉˆเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจชเฉ‹เจกเจธ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉ‚เฉฐ เจ–เจฟเฉฑเจšเจฃ เจฆเฉ‡ เจœเฉ‹เจ–เจฎ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ, เจœเจฟเจธเจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจธเจพเจกเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ CI เจธเจฟเจธเจŸเจฎ เจจเจพเจฒ เจ•เจจเฉˆเจ•เจธเจผเจจ เจ—เฉเจ† โ€‹โ€‹เจฆเฉ‡เจตเฉ‡เจ—เฉ€ เจ…เจคเฉ‡ เจกเฉ€เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจพเจˆเจœเจผเจก เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เฉ€เฅค

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจฅเฉ‹เฉœเฉ‡ เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจธเจผเจพเจ–เจพ เจตเจฟเฉฑเจš เจฒเจ—เจพเจคเจพเจฐ เจงเฉฑเจ•เจฃ เจฆเฉ‡ เจจเจพเจฒ, เจชเฉเจฐเจพเจฃเฉ€ เจชเฉเจฐเจคเฉ€เจฌเฉฑเจงเจคเจพ เจจเฉ‚เฉฐ เจจเจตเฉ‡เจ‚ เจจเจพเจฒเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ: เจšเจฟเฉฑเจคเจฐ เจฆเจพ เจชเฉเจฐเจพเจฃเจพ เจธเฉฐเจธเจ•เจฐเจฃ Git เจฌเฉเจฐเจพเจ‚เจš เจŸเฉˆเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจจเจตเฉ‡เจ‚ เจจเฉ‚เฉฐ เจ“เจตเจฐเจฐเจพเจˆเจŸ เจ•เจฐเฉ‡เจ—เจพเฅค เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• CI/CD เจธเจฟเจธเจŸเจฎ เจฆเฉเจ†เจฐเจพ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจฃ เจตเจœเฉ‹เจ‚, GitLab CI เจตเจฟเฉฑเจš เจฌเจพเจ…เจฆ เจฆเฉ€ เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจ•เจฎเจฟเจŸเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจฒเฉœเฉ€ เจฒเจˆ เจฒเจพเจ‚เจš เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ)เฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจธเจพเจฐเฉ‡ เจธเจฟเจธเจŸเจฎ เจ‡เจธเจฆเจพ เจธเจฎเจฐเจฅเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจ…เจœเจฟเจนเฉ€ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจคเจฐเฉ€เจ•เจพ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจธเจฎเฉฑเจ—เจฐเฉ€-เจ…เจงเจพเจฐเจฟเจค เจŸเฉˆเจ—เจฟเฉฐเจ— เจ•เฉ€ เจนเฉˆ?

เจ‡เจธ เจฒเจˆ, เจธเจฎเฉฑเจ—เจฐเฉ€-เจ…เจงเจพเจฐเจฟเจค เจŸเฉˆเจ—เจฟเฉฐเจ— เจ•เฉ€ เจนเฉˆ - เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉเจ†เจฐเจพ เจšเจฟเฉฑเจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจŸเฉˆเจ— เจ•เจฐเจจเจพ.

เจกเฉŒเจ•เจฐ เจŸเฉˆเจ—เจธ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจ‡เจน เจ—เจฟเฉฑเจŸ เจชเฉเจฐเจพเจˆเจฎเจฟเจŸเจฟเจต (เจ—เจฟเฉฑเจŸ เจฌเฉเจฐเจพเจ‚เจš, เจ—เจฟเฉฑเจŸ เจŸเฉˆเจ—...) เจจเจนเฉ€เจ‚ เจนเฉˆ เจœเฉ‹ เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจชเจฐ เจ‡เจธ เจจเจพเจฒ เจœเฉเฉœเจฟเจ† เจ‡เฉฑเจ• เจšเฉˆเฉฑเจ•เจธเจฎ เจนเฉˆ:

  • เจšเจฟเฉฑเจคเจฐ เจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€. เจšเจฟเฉฑเจคเจฐ ID เจŸเฉˆเจ— เจ‡เจธเจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ‡เจน เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจจเจนเฉ€เจ‚ เจฌเจฆเจฒเฉ‡เจ—เจพ เจœเฉ‡เจ•เจฐ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจซเจพเจˆเจฒเจพเจ‚ เจจเจนเฉ€เจ‚ เจฌเจฆเจฒเฉ€เจ†เจ‚ เจนเจจ;
  • เจ—เจฟเฉฑเจŸ เจตเจฟเฉฑเจš เจ‡เจธ เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจฆเจพ เจ‡เจคเจฟเจนเจพเจธ. เจตเฉฑเจ–-เจตเฉฑเจ– เจ—เจฟเฉฑเจŸ เจฌเฉเจฐเจพเจ‚เจšเจพเจ‚ เจจเจพเจฒ เจœเฉเฉœเฉ€เจ†เจ‚ เจคเจธเจตเฉ€เจฐเจพเจ‚ เจ…เจคเฉ‡ werf เจฆเฉเจ†เจฐเจพ เจตเฉฑเจ–-เจตเฉฑเจ– เจฌเจฟเจฒเจก เจ‡เจคเจฟเจนเจพเจธ เจฆเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– ID เจŸเฉˆเจ— เจนเฉ‹เจฃเจ—เฉ‡เฅค

เจ…เจœเจฟเจนเจพ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจŸเฉˆเจ— เจ…เจ–เฉŒเจคเฉ€ เจนเฉˆ เจšเจฟเฉฑเจคเจฐ เจชเฉœเจพเจ… เจฆเจธเจคเจ–เจค.

เจนเจฐเฉ‡เจ• เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจชเฉœเจพเจตเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจนเฉเฉฐเจฆเจพ เจนเฉˆ: from, before-install, git-archive, install, imports-after-install, before-setup... git-latest-patch เจ†เจฆเจฟ เจนเจฐเฉ‡เจ• เจชเฉœเจพเจ… เจฆเจพ เจ‡เฉฑเจ• เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ‡เจธเจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ - เจชเฉœเจพเจ… เจฆเฉ‡ เจฆเจธเจคเจ–เจค (เจธเจŸเฉ‡เจœ เจนเจธเจคเจพเจ–เจฐ).

เจ…เฉฐเจคเจฎ เจšเจฟเฉฑเจคเจฐ, เจ‡เจนเจจเจพเจ‚ เจชเฉœเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‡เจนเจจเจพเจ‚ เจชเฉœเจพเจตเจพเจ‚ เจฆเฉ‡ เจธเจฎเฉ‚เจน เจฆเฉ‡ เจ…เจ–เฉŒเจคเฉ€ เจฆเจธเจคเจ–เจค เจจเจพเจฒ เจŸเฉˆเจ— เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ - เจชเฉœเจพเจ… เจฆเจธเจคเจ–เจค, - เจœเฉ‹ เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจธเจพเจฐเฉ‡ เจชเฉœเจพเจตเจพเจ‚ เจฒเจˆ เจธเจงเจพเจฐเจฃ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆเฅค

เจธเฉฐเจฐเจšเจจเจพ เจคเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจšเจฟเฉฑเจคเจฐ เจฒเจˆ werf.yaml เจ†เจฎ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ‡เจธเจฆเฉ‡ เจ†เจชเจฃเฉ‡ เจฆเจธเจคเจ–เจค เจนเฉ‹เจฃเจ—เฉ‡ เจ…เจคเฉ‡, เจ‡เจธเจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจ‡เฉฑเจ• เจกเฉŒเจ•เจฐ เจŸเฉˆเจ— เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจธเจŸเฉ‡เจœ เจนเจธเจคเจพเจ–เจฐ เจ‡เจนเจจเจพเจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ:

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

เจ‡เจน เจนเฉเจฃ เจธเจฟเจซเจพเจฐเจธเจผเฉ€ เจŸเฉˆเจ—เจฟเฉฐเจ— เจฐเจฃเจจเฉ€เจคเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจธเจพเจฐเฉ‡ CI เจธเจฟเจธเจŸเจฎเจพเจ‚ เจฒเจˆ werf เจตเจฟเฉฑเจš เจกเจฟเจซเจพเจฒเจŸ เจนเฉˆเฅค

เจตเจฐเจซ เจตเจฟเฉฑเจš เจ•เจฟเจตเฉ‡เจ‚ เจธเจฎเจฐเฉฑเจฅ เจ…เจคเฉ‡ เจตเจฐเจคเจฃเจพ เจนเฉˆ

เจ•เจฎเจพเจ‚เจก เจ•เฉ‹เจฒ เจนเฉเจฃ เจ‡เฉฑเจ• เจ…เจจเฉเจธเจพเจฐเฉ€ เจตเจฟเจ•เจฒเจช เจนเฉˆ werf publish: --tag-by-stages-signature=true|false

เจ‡เฉฑเจ• CI เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš, เจŸเฉˆเจ—เจฟเฉฐเจ— เจฐเจฃเจจเฉ€เจคเฉ€ เจ•เจฎเจพเจ‚เจก เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ werf ci-env. เจชเจนเจฟเจฒเจพเจ‚, เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ werf ci-env --tagging-strategy=tag-or-branch. เจนเฉเจฃ, เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเฉ‹ werf ci-env --tagging-strategy=stages-signature เจœเจพเจ‚ เจ‡เจธ เจตเจฟเจ•เจฒเจช เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจจเจพ เจ•เจฐเฉ‹, werf เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจŸเฉˆเจ—เจฟเฉฐเจ— เจฐเจฃเจจเฉ€เจคเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‡เจ—เจพ stages-signature. เจŸเฉ€เจฎ werf ci-env เจ•เจฎเจพเจ‚เจก เจฒเจˆ เจ†เจชเจฃเฉ‡ เจ†เจช เจนเฉ€ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจซเจฒเฉˆเจ— เจธเฉˆเฉฑเจŸ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพ werf build-and-publish (เจœ werf publish), เจ‡เจธเจฒเจˆ เจ‡เจนเจจเจพเจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฒเจˆ เจ•เฉ‹เจˆ เจตเจพเจงเฉ‚ เจตเจฟเจ•เจฒเจช เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ•เจฎเจพเจ‚เจก:

werf publish --stages-storage :local --images-repo registry.hello.com/web/core/system --tag-by-stages-signature

... เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจคเจธเจตเฉ€เจฐเจพเจ‚ เจฌเจฃเจพ เจธเจ•เจฆเจพ เจนเฉˆ:

  • registry.hello.com/web/core/system/backend:4ef339f84ca22247f01fb335bb19f46c4434014d8daa3d5d6f0e386d
  • registry.hello.com/web/core/system/frontend:f44206457e0a4c8a54655543f749799d10a9fe945896dab1c16996c6

เจ‡เจน เจ‡เจธ เจฒเจˆ เจนเฉˆ 4ef339f84ca22247f01fb335bb19f46c4434014d8daa3d5d6f0e386d เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจชเฉœเจพเจตเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจฆเจธเจคเจ–เจค เจนเฉˆ backendเจ…เจคเฉ‡ f44206457e0a4c8a54655543f749799d10a9fe945896dab1c16996c6 - เจšเจฟเฉฑเจคเจฐ เจชเฉœเจพเจตเจพเจ‚ เจฆเฉ‡ เจฆเจธเจคเจ–เจค frontend.

เจตเจฟเจธเจผเฉ‡เจธเจผ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ werf_container_image ะธ werf_container_env เจนเฉˆเจฒเจฎ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจ•เฉเจ เจตเฉ€ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจ•เฉ‹เจˆ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ: เจ‡เจน เจซเฉฐเจ•เจธเจผเจจ เจ†เจชเจฃเฉ‡ เจ†เจช เจธเจนเฉ€ เจšเจฟเฉฑเจคเจฐ เจจเจพเจฎ เจคเจฟเจ†เจฐ เจ•เจฐเจจเจ—เฉ‡เฅค

เจ‡เฉฑเจ• CI เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš เจ‰เจฆเจพเจนเจฐเจจ เจธเฉฐเจฐเจšเจจเจพ:

type multiwerf && source <(multiwerf use 1.1 beta)
type werf && source <(werf ci-env gitlab)
werf build-and-publish|deploy

เจธเฉฐเจฐเจšเจจเจพ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจตเจฟเฉฑเจš เจ‰เจชเจฒเจฌเจง เจนเฉˆ:

เจ•เฉเฉฑเจฒ

  • เจจเจตเจพเจ‚ เจตเจฟเจ•เจฒเจช werf publish --tag-by-stages-signature=true|false.
  • เจจเจตเจพเจ‚ เจตเจฟเจ•เจฒเจช เจฎเฉเฉฑเจฒ werf ci-env --tagging-strategy=stages-signature|tag-or-branch (เจœเฉ‡ เจจเจฟเจฐเจงเจพเจฐเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจคเจพเจ‚ เจกเจฟเจซเจพเจฒเจŸ เจนเฉ‹เจตเฉ‡เจ—เจพ stages-signature).
  • เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ—เจฟเฉฑเจŸ เจ•เจฎเจฟเจŸ เจฒเจˆ เจŸเฉˆเจ—เจฟเฉฐเจ— เจตเจฟเจ•เจฒเจชเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจธเฉ€ (WERF_TAG_GIT_COMMIT เจœเจพเจ‚ เจตเจฟเจ•เจฒเจช werf publish --tag-git-commit COMMIT), เจซเจฟเจฐ เจŸเฉˆเจ—เจฟเฉฐเจ— เจฐเจฃเจจเฉ€เจคเฉ€ 'เจคเฉ‡ เจธเจตเจฟเจš เจ•เจฐเจจเจพ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ เจชเฉœเจพเจ… - เจฆเจธเจคเจ–เจค.
  • เจจเจตเฉ‡เจ‚ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉเจฐเฉฐเจค เจจเจตเฉ€เจ‚ เจŸเฉˆเจ—เจฟเฉฐเจ— เจธเจ•เฉ€เจฎ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃเจพ เจฌเจฟเจนเจคเจฐ เจนเฉˆเฅค
  • werf 1.1 เจตเจฟเฉฑเจš เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจชเฉเจฐเจพเจฃเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจจเจตเฉ€เจ‚ เจŸเฉˆเจ—เจฟเฉฐเจ— เจธเจ•เฉ€เจฎ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃ เจฆเฉ€ เจธเจฒเจพเจน เจฆเจฟเฉฑเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจชเจฐ เจชเฉเจฐเจพเจฃเฉ‡ เจŸเฉˆเจ—-เจœเจพเจ‚-เจธเจผเจพเจ–เจพ เจ…เจœเฉ‡ เจตเฉ€ เจธเจฎเจฐเจฅเจฟเจค เจนเฉˆเฅค

เจธเจฎเฉฑเจ—เจฐเฉ€-เจ†เจงเจพเจฐเจฟเจค เจŸเฉˆเจ—เจฟเฉฐเจ— เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจธเจพเจฐเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจฆเฉ€ เจนเฉˆ:

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

เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹! เจ…เจคเฉ‡ 'เจคเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจฎเจฟเจฒเจฃ เจฒเจˆ เจจเจพ เจญเฉเฉฑเจฒเฉ‹ GitHubเจ•เฉ‹เจˆ เจฎเฉเฉฑเจฆเจพ เจฌเจฃเจพเจ‰เจฃ เจœเจพเจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจจเฉ‚เฉฐ เจฒเฉฑเจญเจฃ เจฒเจˆ, เจ‡เฉฑเจ• เจชเจฒเฉฑเจธ เจœเฉ‹เฉœเฉ‹, เจ‡เฉฑเจ• PR เจฌเจฃเจพเจ“ เจœเจพเจ‚ เจธเจฟเจฐเจซเจผ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เฉ‹เฅค

PS

เจธเจพเจกเฉ‡ เจฌเจฒเฉŒเจ— 'เจคเฉ‡ เจตเฉ€ เจชเฉœเฉเจนเฉ‹:

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

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