เชตเชฐเซเชซ เชฌเชฟเชฒเซเชกเชฐเชฎเชพเช‚ เชธเชพเชฎเช—เซเชฐเซ€-เช†เชงเชพเชฐเชฟเชค เชŸเซ‡เช—เชฟเช‚เช—: เชคเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เช…เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡?

เชตเชฐเซเชซ เชฌเชฟเชฒเซเชกเชฐเชฎเชพเช‚ เชธเชพเชฎเช—เซเชฐเซ€-เช†เชงเชพเชฐเชฟเชค เชŸเซ‡เช—เชฟเช‚เช—: เชคเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เช…เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡?

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

เชเช• Git เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚เชฅเซ€ เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธเชฟเชธเชจเซ‹ เชธเชฎเซ‚เชน เชฐเซ‹เชฒ เช†เช‰เชŸ

เชœเซเชฏเชพเชฐเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เช˜เชฃเซ€ เชตเชงเซ เช…เชฅเชตเชพ เช“เช›เซ€ เชธเซเชตเชคเช‚เชคเซเชฐ เชธเซ‡เชตเชพเช“เชฎเชพเช‚ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เช˜เชฃเซ€ เชตเชพเชฐ เชฅเชพเชฏ เช›เซ‡. เช† เชธเซ‡เชตเชพเช“เชจเซ€ เชฐเชฟเชฒเซ€เช เชธเซเชตเชคเช‚เชคเซเชฐ เชฐเซ€เชคเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡: เชเช• เชธเชฎเชฏเซ‡ เชเช• เช…เชฅเชตเชพ เชตเชงเซ เชธเซ‡เชตเชพเช“ เชฐเชฟเชฒเซ€เช เชฅเชˆ เชถเช•เซ‡ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชฌเชพเช•เซ€เชจเซ€ เช•เซ‹เชˆเชชเชฃ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชตเชฟเชจเชพ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เชตเซเช‚ เชœเซ‹เชˆเช. เชชเชฐเช‚เชคเซ เช•เซ‹เชก เชธเซเชŸเซ‹เชฐเซ‡เชœ เช…เชจเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸเชจเชพ เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชฅเซ€, เช†เชตเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเซ‡เชตเชพเช“เชจเซ‡ เชเช• เชœ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เชฐเชพเช–เชตเซ€ เชตเชงเซ เช…เชจเซเช•เซ‚เชณ เช›เซ‡.

เชเชตเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชธเซ‡เชตเชพเช“ เช–เชฐเซ‡เช–เชฐ เชธเซเชตเชคเช‚เชคเซเชฐ เชนเซ‹เชฏ เช›เซ‡ เช…เชจเซ‡ เชเช• เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒเซ€ เชจเชฅเซ€. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชคเซ‡เช“ เช…เชฒเช—-เช…เชฒเช— เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚ เชธเซเชฅเชฟเชค เชนเชถเซ‡ เช…เชจเซ‡ เชฆเชฐเซ‡เช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เช…เชฒเช—-เช…เชฒเช— CI/CD เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชฆเซเชตเชพเชฐเชพ เชคเซ‡เชฎเชจเซ€ เชฐเชœเซ‚เช†เชค เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เชœเซ‹ เช•เซ‡, เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เช˜เชฃเซ€เชตเชพเชฐ เชเช• เชœ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เช…เชจเซ‡เช• เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธเชฟเชธเชฎเชพเช‚ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชฆเชฐเซ‡เช• เชฎเชพเชŸเซ‡ เชเช• เช…เชฒเช— เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€ เช…เชจเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเซ‹... เชธเซเชชเชทเซเชŸ เช“เชตเชฐเช•เชฟเชฒ เช›เซ‡. เช† เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เช›เซ‡ เชœเซ‡เชจเซ€ เช†เช—เชณ เชšเชฐเซเชšเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡: เช†เชตเซ€ เช˜เชฃเซ€ เชฌเชงเซ€ เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธเชฟเชธ เชเช• เชœ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เชธเซเชฅเชฟเชค เช›เซ‡ เช…เชจเซ‡ CI/CDเชฎเชพเช‚ เชเช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฆเซเชตเชพเชฐเชพ เชฐเชฟเชฒเซ€เช เชฅเชพเชฏ เช›เซ‡.

เช—เชฟเชŸ เชถเชพเช–เชพ เช…เชจเซ‡ เช—เชฟเชŸ เชŸเซ‡เช— เชฆเซเชตเชพเชฐเชพ เชŸเซ‡เช—เชฟเช‚เช—

เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เชธเซŒเชฅเซ€ เชธเชพเชฎเชพเชจเซเชฏ เชŸเซ‡เช—เชฟเช‚เช— เชตเซเชฏเซ‚เชนเชฐเชšเชจเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡ - เชŸเซ‡เช—-เช…เชฅเชตเชพ-เชถเชพเช–เชพ. 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-commit เช Git เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชจเชพ เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹ เชฎเชพเชŸเซ‡ เชเช• เช“เชณเช–เช•เชฐเซเชคเชพ เช›เซ‡ เช…เชจเซ‡ Git เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เชซเชพเช‡เชฒเซ‹เชจเชพ เชธเช‚เชชเชพเชฆเชจ เช‡เชคเชฟเชนเชพเชธ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เชกเซ‹เช•เชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เช›เชฌเซ€เช“เชจเซ‡ เชŸเซ‡เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชคเชพเชฐเซเช•เชฟเช• เชฒเชพเช—เซ‡ เช›เซ‡.

เชœเซ‹ เช•เซ‡, เช—เชฟเชŸ เช•เชฎเชฟเชŸ เชฆเซเชตเชพเชฐเชพ เชŸเซ‡เช—เชฟเช‚เช—เชฎเชพเช‚ เช—เชฟเชŸ เชถเชพเช–เชพเช“ เช…เชฅเชตเชพ เช—เชฟเชŸ เชŸเซ…เช—เซเชธ เชฆเซเชตเชพเชฐเชพ เชŸเซ‡เช—เชฟเช‚เช— เชœเซ‡เชตเชพ เชœ เช—เซ‡เชฐเชซเชพเชฏเชฆเชพ เช›เซ‡:

  • เชเช• เช–เชพเชฒเซ€ เช•เชฎเชฟเชŸ เชฌเชจเชพเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชœเซ‡ เช•เซ‹เชˆเชชเชฃ เชซเชพเชˆเชฒเซ‹เชจเซ‡ เชฌเชฆเชฒเชคเซ€ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชˆเชฎเซ‡เชœเชจเซ‹ เชกเซ‹เช•เชฐ เชŸเซ‡เช— เชฌเชฆเชฒเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.
  • เชเช• เชฎเชฐเซเชœ เช•เชฎเชฟเชŸ เชฌเชจเชพเชตเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชœเซ‡ เชซเชพเชˆเชฒเซ‹เชจเซ‡ เชฌเชฆเชฒเชคเซเช‚ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชˆเชฎเซ‡เชœเชจเซเช‚ เชกเซ‹เช•เชฐ เชŸเซ‡เช— เชฌเชฆเชฒเชพเชถเซ‡.
  • เชเช• เชชเซเชฐเชคเชฟเชฌเชฆเซเชงเชคเชพ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชœเซ‡ Git เชฎเชพเช‚ เชคเซ‡ เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชฌเชฆเชฒเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡ เช›เชฌเซ€เชฎเชพเช‚ เช†เชฏเชพเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชจเชฅเซ€, เช…เชจเซ‡ เช›เชฌเซ€เชจเซ‹ เชกเซ‹เช•เชฐ เชŸเซ‡เช— เชซเชฐเซ€เชฅเซ€ เชฌเชฆเชฒเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

Git เชถเชพเช–เชพเชจเชพ เชจเชพเชฎเชจเซ‡ เชŸเซ…เช— เช•เชฐเชตเชพเชฅเซ€ เช‡เชฎเซ‡เชœ เชตเชฐเซเชเชจ เชชเซเชฐเชคเชฟเชฌเชฟเช‚เชฌเชฟเชค เชฅเชคเซเช‚ เชจเชฅเซ€

เช—เชฟเชŸ เชถเชพเช–เชพเช“ เชฎเชพเชŸเซ‡ เชŸเซ‡เช—เชฟเช‚เช— เชตเซเชฏเซ‚เชนเชฐเชšเชจเชพ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เชฌเซ€เชœเซ€ เชธเชฎเชธเซเชฏเชพ เช›เซ‡.

เชถเชพเช–เชพเชจเชพ เชจเชพเชฎ เชฆเซเชตเชพเชฐเชพ เชŸเซ‡เช—เซ€เช‚เช— เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชคเซ‡ เชถเชพเช–เชพ เชชเชฐเชจเชพ เช•เชฎเชฟเชŸเซเชธเชจเซ‡ เช•เซเชฐเชฎเชฟเช• เช•เซเชฐเชฎเชฎเชพเช‚ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชœเซ‹ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเช•เซ€เชฎเชฎเชพเช‚ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชšเซ‹เช•เซเช•เชธ เชถเชพเช–เชพ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เชœเซ‚เชจเซ€ เช•เชฎเชฟเชŸเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‹ werf เชœเซ‚เชจเชพ เช•เชฎเชฟเชŸ เชฎเชพเชŸเซ‡ เช‡เชฎเซ‡เชœเชจเชพ เชจเชตเชพ เชฌเชฟเชฒเซเชŸ เชตเชฐเซเชเชจ เชธเชพเชฅเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เชกเซ‹เช•เชฐ เชŸเซ…เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช‡เชฎเซ‡เชœเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชฒเช–เชถเซ‡. เชนเชตเซ‡เชฅเซ€ เช† เชŸเซ‡เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเซ‹เชกเซเชธ เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช‡เชฎเซ‡เชœเชจเชพ เช…เชฒเช— เชธเช‚เชธเซเช•เชฐเชฃเชจเซ‡ เช–เซ‡เช‚เชšเซ€ เชฒเซ‡เชตเชพเชจเซเช‚ เชœเซ‹เช–เชฎ เชฐเชนเซ‡เชฒเซเช‚ เช›เซ‡, เชœเซ‡เชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‡ เช…เชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ CI เชธเชฟเชธเซเชŸเชฎ เชธเชพเชฅเซ‡เชจเซเช‚ เชœเซ‹เชกเชพเชฃ เช—เซเชฎเชพเชตเชถเซ‡ เช…เชจเซ‡ เชกเชฟเชธเชฟเช‚เช•เซเชฐเซ‹เชจเชพเช‡เช เชฅเชˆ เชœเชถเซ‡.

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

เชธเชพเชฎเช—เซเชฐเซ€-เช†เชงเชพเชฐเชฟเชค เชŸเซ‡เช—เชฟเช‚เช— เชถเซเช‚ เช›เซ‡?

เชคเซ‡เชฅเซ€, เชธเชพเชฎเช—เซเชฐเซ€-เช†เชงเชพเชฐเชฟเชค เชŸเซ‡เช—เชฟเช‚เช— เชถเซเช‚ เช›เซ‡ - เชธเชพเชฎเช—เซเชฐเซ€ เชฆเซเชตเชพเชฐเชพ เช›เชฌเซ€เช“เชจเซ‡ เชŸเซ‡เช— เช•เชฐเชตเซเช‚.

เชกเซ‹เช•เชฐ เชŸเซ…เช—เซเชธ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชคเซ‡ เช—เชฟเชŸ เชชเซเชฐเชฟเชฎเชฟเชŸเชฟเชตเซเชธ (เช—เชฟเชŸ เชถเชพเช–เชพ, เช—เชฟเชŸ เชŸเซ…เช—...) เชจเชฅเซ€ เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒ เชšเซ‡เช•เชธเชฎ เช›เซ‡:

  • เช›เชฌเซ€เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€. เช‡เชฎเซ‡เชœ ID เชŸเซ…เช— เชคเซ‡เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ‡ เชชเซเชฐเชคเชฟเชฌเชฟเช‚เชฌเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เชจเชตเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เช† เช“เชณเช–เช•เชฐเซเชคเชพ เชฌเชฆเชฒเชพเชถเซ‡ เชจเชนเซ€เช‚ เชœเซ‹ เชˆเชฎเซ‡เชœเชฎเชพเช‚เชจเซ€ เชซเชพเชˆเชฒเซ‹ เชฌเชฆเชฒเชพเชˆ เชจ เชนเซ‹เชฏ;
  • Git เชฎเชพเช‚ เช† เช›เชฌเซ€ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เช‡เชคเชฟเชนเชพเชธ. เชตเชฟเชตเชฟเชง Git เชถเชพเช–เชพเช“ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒเซ€ เช›เชฌเซ€เช“ เช…เชจเซ‡ 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

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹