เดตเต†เตผเดซเดฟเดฒเต† เดฎเต‹เดฃเต‹เดฑเต†เดชเตเดชเต‹, เดฎเตพเดŸเตเดŸเดฟเดฑเต†เดชเตเดชเต‹ เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด‚ เดกเต‹เด•เตเด•เตผ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเดฏเตเด‚ เด‡เดคเตเดฎเดพเดฏเดฟ เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต

เดตเต†เตผเดซเดฟเดฒเต† เดฎเต‹เดฃเต‹เดฑเต†เดชเตเดชเต‹, เดฎเตพเดŸเตเดŸเดฟเดฑเต†เดชเตเดชเต‹ เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด‚ เดกเต‹เด•เตเด•เตผ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเดฏเตเด‚ เด‡เดคเตเดฎเดพเดฏเดฟ เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต

เดฎเต‹เดฃเต‹เดฑเต†เดชเตเดชเต‹ เดŽเดจเตเดจ เดตเดฟเดทเดฏเด‚ เดชเดฒเดคเดตเดฃ เดšเตผเดšเตเดš เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดŸเดฟเดŸเตเดŸเตเดฃเตเดŸเต, เดšเดŸเตเดŸเด‚ เดชเต‹เดฒเต†, เดตเดณเดฐเต† เดธเดœเต€เดตเดฎเดพเดฏ เดธเด‚เดตเดพเดฆเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฐเดฃเดฎเดพเด•เตเดจเตเดจเต. เดตเต†เตผเดซเต Git-เตฝ เดจเดฟเดจเตเดจเต Docker เด‡เดฎเต‡เดœเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด•เต‹เดกเต เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเต เด‰เดชเด•เดฐเดฃเด‚ เดŽเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ (เดคเตเดŸเตผเดจเตเดจเต เด…เดต Kubernetes-เดฒเต‡เด•เตเด•เต เดŽเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต), เดเดคเต เดšเต‹เดฏเตโ€Œเดธเดพเดฃเต เดเดฑเตเดฑเดตเตเด‚ เดจเดฒเตเดฒเดคเต†เดจเตเดจเต เดŠเดนเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เด•เต‚เดŸเตเดคเตฝ เดธเดฎเดฏเด‚ เดšเต†เดฒเดตเดดเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เดตเตเดฏเดคเตเดฏเดธเตเดค เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เดณเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดตเตผเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏเดคเต†เดฒเตเดฒเดพเด‚ เดจเตฝเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดžเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเดพเดฅเดฎเดฟเด• เด†เดถเด™เตเด• (เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เด…เดคเต เดธเดพเดฎเดพเดจเตเดฏเดฌเตเดฆเตเดงเดฟเด•เตเด•เต เดตเดฟเดฐเตเดฆเตเดงเดฎเดพเด•เดพเดคเตเดคเดฟเดŸเดคเตเดคเต‹เดณเด‚).

werf-เตฝ เด…เดŸเตเดคเตเดคเดฟเดŸเต† เดšเต‡เตผเดคเตเดค เดฎเต‹เดฃเต‹-เดฑเต†เดชเตเดชเต‹ เดชเดฟเดจเตเดคเตเดฃ เด‡เดคเดฟเดจเต เด’เดฐเต เดจเดฒเตเดฒ เด‰เดฆเดพเดนเดฐเดฃเดฎเดพเดฃเต. เดŽเดจเตเดจเดพเตฝ เด†เดฆเตเดฏเด‚, เดˆ เดชเดฟเดจเตเดคเตเดฃ werf เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเตเดฎเดพเดฏเดฟ เดŽเด™เตเด™เดจเต† เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเตเด‚ เดกเต‹เด•เตเด•เตผ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟ เด‡เดคเตเดฎเดพเดฏเดฟ เดŽเดจเตเดคเต เดฌเดจเตเดงเดฎเดพเดฃเตเดณเตเดณเดคเต†เดจเตเดจเตเด‚ เดจเดฎเตเด•เตเด•เต เด•เดฃเตเดŸเต†เดคเตเดคเดพเด‚...

เดชเตเดฐเดถเตเดจเด™เตเด™เตพ

เดˆ เดธเดพเดนเดšเดฐเตเดฏเด‚ เดจเดฎเตเด•เตเด•เต เดธเด™เตเด•เตฝเดชเตเดชเดฟเด•เตเด•เดพเด‚. เด’เดฐเต เด•เดฎเตเดชเดจเดฟเด•เตเด•เต เดธเตเดตเดคเดจเตเดคเตเดฐ เดชเตเดฐเต‹เดœเด•เตเดŸเตเด•เดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดกเต†เดตเดฒเดชเตโ€Œเดฎเต†เดจเตเดฑเต เดŸเต€เดฎเตเด•เดณเตเดฃเตเดŸเต. เดฎเดฟเด•เตเด• เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเด‚ เด•เตเดฌเต‡เตผเดจเต†เดฑเตเดฑเดธเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เด…เดต เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตˆเดธเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต. เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เดณเตเด‚ เดšเดฟเดคเตเดฐเด™เตเด™เดณเตเด‚ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟ เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เด•เดฎเตเดชเดจเดฟ เด’เดฐเตŠเดฑเตเดฑ เด…เด•เตเด•เต—เดฃเตเดŸเตเดณเตเดณ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเดฏเดพเดฏเดฟ เดกเต‹เด•เตเด•เตผ เดนเดฌเดฟเดจเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. COMPANY. เดฎเดฟเด•เตเด• เดธเต‹เดดเตโ€Œเดธเต เด•เต‹เดกเต เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพเด•เตเด•เตเด‚ เดธเดฎเดพเดจเดฎเดพเดฏเดฟ, เดกเต‹เด•เตเด•เตผ เดนเดฌเต เดจเต†เดธเตเดฑเตเดฑเดกเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เดถเตเดฐเต‡เดฃเดฟเด•เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ., เด…เดคเตเดชเต‡เดพเดฒเต† COMPANY/PROJECT/IMAGEเด…เด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเตฝ... เด“เดฐเต‹ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเด‚ เดชเตเดฐเดคเตเดฏเต‡เด• เด…เด•เตเด•เต—เดฃเตเดŸเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดคเต†, เดˆ เดชเดฐเดฟเดฎเดฟเดคเดฟเดฏเต‹เดŸเต†, เดฎเต‹เดฃเต‹เดฒเดฟเดคเตเดคเดฟเด•เตเด•เต เด…เดฒเตเดฒเดพเดคเตเดค เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเดฏเดฟเตฝ เดŽเด™เตเด™เดจเต† เดธเด‚เดญเดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚?

เดตเต†เตผเดซเดฟเดฒเต† เดฎเต‹เดฃเต‹เดฑเต†เดชเตเดชเต‹, เดฎเตพเดŸเตเดŸเดฟเดฑเต†เดชเตเดชเต‹ เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด‚ เดกเต‹เด•เตเด•เตผ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเดฏเตเด‚ เด‡เดคเตเดฎเดพเดฏเดฟ เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต

เดˆ เดธเดพเดนเดšเดฐเตเดฏเด‚ เดšเดฟเดฒเตผเด•เตเด•เต เดชเดฐเดฟเดšเดฟเดคเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚, เดชเด•เตเดทเต‡ เดฎเตเด•เดณเดฟเตฝ เดชเดฑเดžเตเดž เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเต†เดฏเตเด‚ เดกเต‹เด•เตเด•เตผ เดนเดฌเตเดฌเดฟเดจเต†เดฏเตเด‚ เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เดพเดคเต†, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเด‚เดญเดฐเดฃเด‚ เดชเตŠเดคเตเดตเดพเดฏเดฟ เดธเด‚เด˜เดŸเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดชเตเดฐเดถเตเดจเด‚ เดจเต‹เด•เตเด•เดพเด‚.

เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เตพ

เด…เดชเต‡เด•เตเดทเดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ เดเด•เดถเดฟเดฒเดพเดฐเต‚เดชเดคเตเดคเดฟเตฝ, เด’เดฐเตŠเดฑเตเดฑ เด‡เดฎเต‡เดœเดฟเตฝ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เดšเต‹เดฆเตเดฏเด™เตเด™เดณเตŠเดจเตเดจเตเด‚ เด‰เดฏเดฐเตเดจเตเดจเดฟเดฒเตเดฒ, เดžเด™เตเด™เตพ เดšเดฟเดคเตเดฐเด™เตเด™เตพ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเดฏเดฟเตฝ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต.

เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เด˜เดŸเด•เด™เตเด™เดณเดพเดฏเดฟ เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดฎเตˆเด•เตเดฐเต‹เดธเตผเดตเต€เดธเตเด•เตพ, เดคเตเดŸเตผเดจเตเดจเต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดธเดฎเต€เดชเดจเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดฃเด‚. เดฐเดฃเตเดŸเต เดšเดฟเดคเตเดฐเด™เตเด™เตพ เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดตเต†เดฌเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต: frontend ะธ backend โ€” เดธเดพเดงเตเดฏเดฎเดพเดฏ เด“เดชเตเดทเดจเตเด•เตพ เด‡เดตเดฏเดพเดฃเต:

  1. เดšเดฟเดคเตเดฐเด™เตเด™เตพ เดชเตเดฐเดคเตเดฏเต‡เด• เดจเต†เดธเตเดฑเตเดฑเดกเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเดฟเตฝ เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเด•:

    เดตเต†เตผเดซเดฟเดฒเต† เดฎเต‹เดฃเต‹เดฑเต†เดชเตเดชเต‹, เดฎเตพเดŸเตเดŸเดฟเดฑเต†เดชเตเดชเต‹ เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด‚ เดกเต‹เด•เตเด•เตผ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเดฏเตเด‚ เด‡เดคเตเดฎเดพเดฏเดฟ เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต

  2. เดŽเดฒเตเดฒเดพเด‚ เด’เดฐเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเตฝ เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเด•, เดŸเดพเด—เดฟเตฝ เดšเดฟเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต† เดชเต‡เดฐเต เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด‡เดคเตเดชเต‹เดฒเต†:

    เดตเต†เตผเดซเดฟเดฒเต† เดฎเต‹เดฃเต‹เดฑเต†เดชเตเดชเต‹, เดฎเตพเดŸเตเดŸเดฟเดฑเต†เดชเตเดชเต‹ เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด‚ เดกเต‹เด•เตเด•เตผ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเดฏเตเด‚ เด‡เดคเตเดฎเดพเดฏเดฟ เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต

NB: เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ, เดตเตเดฏเดคเตเดฏเดธเตเดค เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเดฟเตฝ เดธเต‡เดตเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฎเดฑเตเดฑเตŠเดฐเต เด“เดชเตเดทเตป เด‰เดฃเตเดŸเต, PROJECT-frontend ะธ PROJECT-backend, เดŽเดจเตเดจเดพเตฝ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเดฒเตเดณเตเดณ เด…เดตเด•เดพเดถเด™เตเด™เดณเตเดŸเต† เดชเดฟเดจเตเดคเตเดฃ, เด“เตผเด—เดจเตˆเดธเต‡เดทเตป, เดตเดฟเดคเดฐเดฃเด‚ เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดธเด™เตเด•เต€เตผเดฃเตเดฃเดค เด•เดพเดฐเดฃเด‚ เดžเด™เตเด™เตพ เด…เดคเต เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เดฟเดฒเตเดฒ.

เดตเต†เตผเดซเดฟเตฝ เดชเดฟเดจเตเดคเตเดฃ

เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ, werf เดจเต†เดธเตเดฑเตเดฑเดกเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดคเตเดฐเดฎเดพเดฏเดฟ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ - เดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เดฎเดฟเด•เตเด• เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเด•เดณเตเด‚ เดˆ เดธเดตเดฟเดถเต‡เดทเดคเดฏเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต. เดชเดคเดฟเดชเตเดชเต เดฎเตเดคเตฝ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต v1.0.4-alpha.3, เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเด•เดณเตเดฎเดพเดฏเดฟ เดšเต‡เตผเดคเตเดค เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดจเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เด•เต‚เดŸเดพเดคเต† เดกเต‹เด•เตเด•เตผ เดนเดฌเต เด…เดคเดฟเดฒเตŠเดจเตเดจเดพเดฃเต. เด‡เดจเดฟ เดฎเตเดคเตฝ, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‡เดฎเต‡เดœเตเด•เตพ เดŽเด™เตเด™เดจเต† เดธเด‚เดญเดฐเดฟเด•เตเด•เดฃเดฎเต†เดจเตเดจเต เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเด‚.

เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ เด’เดฐเต เด“เดชเตเดทเดจเดพเดฏเดฟ เดฒเดญเตเดฏเดฎเดพเดฃเต. --images-repo-mode=multirepo|monorepo (เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ multirepo(เด…เดคเดพเดฏเดคเต, เดจเต†เดธเตเดฑเตเดฑเดกเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเดฟเตฝ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเต). เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเดฏเดฟเตฝ เด‡เดฎเต‡เดœเตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเตเด•เดณเต† เด‡เดคเต เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดŸเดฟเดธเตเดฅเดพเดจ เด•เดฎเดพเตปเดกเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดฎเต‹เดกเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•, เดฎเดฑเตเดฑเต†เดฒเตเดฒเดพเด‚ เดฎเดพเดฑเตเดฑเดฎเดฟเดฒเตเดฒเดพเดคเต† เดคเตเดŸเดฐเตเด‚.

เดฎเดฟเด•เตเด• เดตเต†เตผเดซเต เด“เดชเตเดทเดจเตเด•เดณเตเด‚ เดธเดœเตเดœเดฎเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดคเดฟเดจเดพเตฝ เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพCI/CD เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเดฟเตฝ, เดฎเตเดดเตเดตเตป เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเด‚ เดตเต‡เดฃเตเดŸเดฟ เด†เด—เต‹เดณเดคเดฒเดคเตเดคเดฟเตฝ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดฎเต‹เดกเต เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเตป เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, GitLab-เดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเดฟเตฝ เด’เดฐเต เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดšเต‡เตผเดคเตเดคเดพเตฝ เดฎเดคเดฟ: เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ -> CI / CD -> เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ: WERF_IMAGES_REPO_MODE: multirepo|monorepo.

เดšเดฟเดคเตเดฐเด™เตเด™เตพ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เดชเตเดฑเดคเตเดคเดฟเดฑเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เดชเดฑเดฏเตเดฎเตเดชเต‹เตพ (เดˆ เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเตเดฐเดธเด•เตเดคเดฎเดพเดฏ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดฒเต‡เด–เดจเด™เตเด™เดณเดฟเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดตเดพเดฏเดฟเด•เตเด•เดพเด‚: เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฃ เดชเตเดฐเด•เตเดฐเดฟเดฏ ะธ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตฝ เดชเตเดฐเด•เตเดฐเดฟเดฏ), เดคเตเดŸเตผเดจเตเดจเต เด‡เดฎเต‡เดœเดฟเดจเตŠเดชเตเดชเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดฎเต‹เดกเต เดชเตเดฐเดคเตเดฏเต‡เด•เดฎเดพเดฏเดฟ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เดณเดฟเตฝ เดชเดฟเดถเดพเดšเต เด‰เดฃเตเดŸเต

เด’เดฐเต เดชเตเดคเดฟเดฏ เดธเด‚เดญเดฐเดฃ โ€‹โ€‹เดฐเต€เดคเดฟ เดšเต‡เตผเด•เตเด•เตเดฎเตเดชเต‹เตพ เดตเตเดฏเดคเตเดฏเดพเดธเดตเตเด‚ เดชเตเดฐเดงเดพเดจ เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเด‚ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟ เดตเตƒเดคเตเดคเดฟเดฏเดพเด•เตเด•เตเดจเตเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดฟเดฒเดพเดฃเต. (werf เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจ เด•เตเดฒเต€เดจเดฟเด‚เด—เต เด•เดดเดฟเดตเตเด•เตพเด•เตเด•เต, เด•เดพเดฃเตเด• เดตเตƒเดคเตเดคเดฟเดฏเดพเด•เตเด•เตฝ เดชเตเดฐเด•เตเดฐเดฟเดฏ).

เดตเตƒเดคเตเดคเดฟเดฏเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด•เตเดฌเต‡เตผเดจเต†เดฑเตเดฑเดธเต เด•เตเดฒเดธเตเดฑเตเดฑเดฑเตเด•เดณเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดšเดฟเดคเตเดฐเด™เตเด™เดณเตเด‚ เด‰เดชเดฏเต‹เด•เตเดคเตƒ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดค เดจเดฏเด™เตเด™เดณเตเด‚ เดตเต†เตผเดซเต เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเด•เตเด•เตเดจเตเดจเต. เดŸเดพเด—เตเด•เดณเต† เดคเดจเตเดคเตเดฐเด™เตเด™เดณเดพเดฏเดฟ เดตเดฟเดญเดœเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดคเดพเดฃเต เดจเดฏเด™เตเด™เตพ. เดจเดฟเดฒเดตเดฟเตฝ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจ เดคเดจเตเดคเตเดฐเด™เตเด™เตพ:

  1. เดŸเดพเด—เต, เดฌเตเดฐเดพเดžเตเดšเต, เด•เดฎเตเดฎเดฟเดฑเตเดฑเต เดคเตเดŸเด™เตเด™เดฟเดฏ Git เดชเตเดฐเตˆเดฎเดฟเดฑเตเดฑเต€เดตเตเด•เดณเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ 3 เดคเดจเตเดคเตเดฐเด™เตเด™เตพ;
  2. เด‡เดทเตเดŸเดพเดจเตเดธเตƒเดค เดŸเดพเด—เตเด•เตพเด•เตเด•เตเดณเตเดณ 1 เดคเดจเตเดคเตเดฐเด‚.

เด’เดฐเต เดšเดฟเดคเตเดฐเด‚ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด…เดจเตเดคเดฟเดฎ เดšเดฟเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต† เดฒเต‡เดฌเดฒเตเด•เดณเดฟเตฝ เดŸเดพเด—เต เดคเดจเตเดคเตเดฐ เดตเดฟเดตเดฐเด™เตเด™เตพ เดžเด™เตเด™เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดฎเต‚เดฒเตเดฏเด‚ เดคเดจเตเดจเต† เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดคเดพเดฃเต เดฎเต†เดฑเตเดฑเดพ เดŸเดพเด—เต โ€” เดšเดฟเดฒ เดจเดฏเด™เตเด™เตพ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด…เดคเตเดฏเดพเดตเดถเตเดฏเดฎเดพเดฃเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดฌเตเดฐเดพเดžเตเดšเต‹ เดŸเดพเด—เต‹ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดตเดฏเตเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจเดคเต เด…เตผเดคเตเดฅเดตเดคเตเดคเดพเดฃเต. เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเตเดค เดžเด™เตเด™เดณเตเดŸเต† เดจเดฏเด™เตเด™เดณเตเดŸเต† เดญเดพเด—เดฎเดพเดฏเดฟ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดšเดฟเดคเตเดฐเด™เตเด™เตพ.

เด’เดฐเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเตฝ เดธเต‡เดตเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ (monorepo), เดฎเต†เดฑเตเดฑเดพ เดŸเดพเด—เดฟเดจเต เดชเตเดฑเดฎเต‡, เด‡เดฎเต‡เดœเต เดŸเดพเด—เดฟเดจเต เดšเดฟเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต† เดชเต‡เดฐเตเด‚ เดธเด‚เดญเดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚: PROJECT:frontend-META-TAGเด…เดตเดฏเต† เดตเต‡เตผเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เตพ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดธเต†เดชเตเดชเดฑเต‡เดฑเตเดฑเดฑเตเด‚ เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฒเตเดฒ, เดฎเดฑเดฟเดšเตเดšเต เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดšเดชเตเดชเต‹เตพ เด…เดจเตเดคเดฟเดฎ เด‡เดฎเต‡เดœเต เดฒเต‡เดฌเดฒเดฟเตฝ เด†เดตเดถเตเดฏเดฎเดพเดฏ เดฎเต‚เดฒเตเดฏเด‚ เดšเต‡เตผเดคเตเดคเต.

NB: werf เดธเต‹เดดเตโ€Œเดธเต เด•เต‹เดกเดฟเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดฒเตเดฒเดพเด‚ เดจเต‹เด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต เด†เดฐเด‚เดญ เดชเต‹เดฏเดฟเดจเตเดฑเต เด‡เดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚ เดชเดฟเด†เตผ 1684.

เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ, เดžเด™เตเด™เดณเตเดŸเต† เดธเดฎเต€เดชเดจเดคเตเดคเดฟเดจเตเดฑเต† เดชเตเดฐเดถเตเดจเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดจเตเดฏเดพเดฏเต€เด•เดฐเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เตเด‚ เดžเด™เตเด™เตพ เด•เต‚เดŸเตเดคเตฝ เดถเตเดฐเดฆเตเดง เดšเต†เดฒเตเดคเตเดคเดฟเดฒเตเดฒ: เดŸเดพเด—เดฟเด‚เด—เต เดคเดจเตเดคเตเดฐเด™เตเด™เตพ, เดฒเต‡เดฌเดฒเตเด•เดณเดฟเตฝ เดกเดพเดฑเตเดฑ เดธเด‚เดญเดฐเดฟเด•เตเด•เตฝ, เดชเตŠเดคเตเดตเต† เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฃ เดชเตเดฐเด•เตเดฐเดฟเดฏ เดŽเดจเตเดจเดฟเดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต - เด‡เดคเต†เดฒเตเดฒเดพเด‚ เดฆเดฟเดฎเดฟเดคเตเดฐเดฟ เดธเตเดฑเตเดฑเต‹เดฒเดฟเดฏเดพเดฐเต‹เดตเดฟเดจเตเดฑเต† เดธเดฎเต€เดชเด•เดพเดฒ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเดฟเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต: โ€œเด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเดฟเดฒเต† CI/CD-เด•เตเด•เตเดณเตเดณ เดžเด™เตเด™เดณเตเดŸเต† เด‰เดชเด•เดฐเดฃเดฎเดพเดฃเต werf".

เดšเตเดฐเตเด•เตเด•เดฟ เดชเดฑเดžเตเดžเดพเตฝ

เดจเต†เดธเตเดฑเตเดฑเดกเต เด…เดฒเตเดฒเดพเดคเตเดค เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดŸเต† เด…เดญเดพเดตเด‚ เดžเด™เตเด™เตพเด•เตเด•เต‹ โ€‹โ€‹เดžเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเดตเตเดจเตเดจ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดตเต†เตผเดซเต เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต‹ โ€‹โ€‹เด’เดฐเต เดกเต€เตฝ เดฌเตเดฐเต‡เด•เตเด•เตผ เด†เดฏเดฟเดฐเตเดจเตเดจเดฟเดฒเตเดฒ - เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด‡เดฎเต‡เดœเต เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ Google เด•เตเดฒเต—เดกเดฟเดฒเต† เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟ เดชเต‹เดฒเตเดณเตเดณ เด’เดจเตเดจเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดจเตเดจเดคเต) เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดธเดพเดงเตเดฏเดฎเดพเดฃเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดตเดฟเดถเดพเดฒเดฎเดพเดฏ DevOps เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเดฑเตเดฑเดฟเด•เตเด•เต เดŸเต‚เตพ เด•เต‚เดŸเตเดคเตฝ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดˆ เดชเดฐเดฟเดงเดฟ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดฏเตเด•เตเดคเดฟเดธเดนเดฎเดพเดฏเดฟ เดคเต‹เดจเตเดจเดฟ. เด‡เดคเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟ เด•เตเดฒเต€เดจเดชเตเดชเต เดธเด‚เดตเดฟเดงเดพเดจเด‚ เดชเตเดจเตผเดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดฒเต† เดชเตเดฐเดงเดพเดจ เดตเต†เดฒเตเดฒเตเดตเดฟเดณเดฟ เดžเด™เตเด™เตพ เดจเต‡เดฐเดฟเดŸเตเดŸเต. เด‡เดชเตเดชเต‹เตพ เดŽเดฒเตเดฒเดพเด‚ เดคเดฏเตเดฏเดพเดฑเดพเดฏเดคเดฟเดจเดพเตฝ, เดฎเดฑเตเดฑเตŠเดฐเดพเตพเด•เตเด•เต เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดŽเดณเตเดชเตเดชเดฎเดพเดฏเดฟ เดŽเดจเตเดจเต เด…เดฑเดฟเดฏเตเดจเตเดจเดคเต เดธเดจเตเดคเต‹เดทเด•เดฐเดฎเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† (เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดฒเต€เดกเต เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดŽเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ) เดˆ เดธเดตเดฟเดถเต‡เดทเดคเดฏเต† เด•เต‚เดŸเตเดคเตฝ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เด•เดพเดฐเตเดฏเดฎเดพเดฏ เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเด•เตพ เด‰เดฃเตเดŸเดพเด•เตเดฎเต†เดจเตเดจเต เดžเด™เตเด™เตพ เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เต‚, เดธเดฎเต€เดชเดญเดพเดตเดฟเดฏเดฟเตฝ เดฎเดฑเตเดฑเต เดชเตเดคเตเดฎเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด‚. เดตเต†เตผเดซเต!

เดชเดฟ.เดŽเดธเต

เดžเด™เตเด™เดณเตเดŸเต† เดฌเตเดฒเต‹เด—เดฟเดฒเตเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด•:

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

DDoS เดชเดฐเดฟเดฐเด•เตเดทเดฏเตเดณเตเดณ เดธเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เตเด•, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ ๐Ÿ”ฅ DDoS เดชเดฐเดฟเดฐเด•เตเดท, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ เด‰เดณเตเดณ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเต เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เต‚ | ProHoster