เชตเชฐเซเชซเชฎเชพเช‚ เชฎเซ‹เชจเซ‹เชฐเซ‡เชชเซ‹ เช…เชจเซ‡ เชฎเชฒเซเชŸเชฟเชฐเซ‡เชชเซ‹ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช…เชจเซ‡ เชกเซ‹เช•เชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชถเซเช‚ เช•เชฐเชตเซเช‚ เช›เซ‡

เชตเชฐเซเชซเชฎเชพเช‚ เชฎเซ‹เชจเซ‹เชฐเซ‡เชชเซ‹ เช…เชจเซ‡ เชฎเชฒเซเชŸเชฟเชฐเซ‡เชชเซ‹ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช…เชจเซ‡ เชกเซ‹เช•เชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชถเซเช‚ เช•เชฐเชตเซเช‚ เช›เซ‡

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

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

เชฎเซเชฆเซเชฆเชพเช“

เชšเชพเชฒเซ‹ เช†เชตเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชจเซ€ เช•เชฒเซเชชเชจเชพ เช•เชฐเซ€เช. เช•เช‚เชชเชจเซ€ เชชเชพเชธเซ‡ เช˜เชฃเซ€ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชŸเซ€เชฎเซ‹ เช›เซ‡ เชœเซ‡ เชธเซเชตเชคเช‚เชคเซเชฐ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชชเชฐ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡. เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เชชเชฐ เชšเชพเชฒเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เช•เชจเซเชŸเซ‡เชจเชฐเชพเช‡เชเซเชก เช›เซ‡. เช•เชจเซเชŸเซ‡เชจเชฐ, เช›เชฌเซ€เช“ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€ (เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€) เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช†เชตเซ€ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€ เชคเชฐเซ€เช•เซ‡, เช•เช‚เชชเชจเซ€ เชเช• เชเช•เชพเช‰เชจเซเชŸ เชธเชพเชฅเซ‡ เชกเซ‹เช•เชฐ เชนเชฌเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ COMPANY. เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชธเซ‹เชฐเซเชธ เช•เซ‹เชก เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเชฟเชธเซเชŸเชฎเซเชธเชจเซ€ เชœเซ‡เชฎ, เชกเซ‹เช•เชฐ เชนเชฌ เชจเซ‡เชธเซเชŸเซ‡เชก เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€ เชนเชพเชฏเชฐเชพเชฐเซเช•เซ€เชจเซ‡ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชคเซเช‚ เชจเชฅเซ€, เชœเซ‡เชฎ เช•เซ‡ COMPANY/PROJECT/IMAGE. เชคเซ‡ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚โ€ฆ เชคเชฎเซ‡ เชฆเชฐเซ‡เช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡ เช…เชฒเช— เชเช•เชพเช‰เชจเซเชŸ เชฌเชจเชพเชตเซเชฏเชพ เชตเชฟเชจเชพ เช† เชฎเชฐเซเชฏเชพเชฆเชพ เชธเชพเชฅเซ‡ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เชจเซ‹เชจ-เชฎเซ‹เชจเซ‹เชฒเชฟเชฅเชฟเช• เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซเชŸเซ‹เชฐ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹?

เชตเชฐเซเชซเชฎเชพเช‚ เชฎเซ‹เชจเซ‹เชฐเซ‡เชชเซ‹ เช…เชจเซ‡ เชฎเชฒเซเชŸเชฟเชฐเซ‡เชชเซ‹ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช…เชจเซ‡ เชกเซ‹เช•เชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชถเซเช‚ เช•เชฐเชตเซเช‚ เช›เซ‡

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

เช‰เช•เซ‡เชฒเซ‹

เชœเซ‹ เช…เชฐเชœเซ€ เชฎเซ‹เชจเซ‹เชฒเชฟเชฅเชฟเช•, เชเช• เช›เชฌเซ€เชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชชเช›เซ€ เช•เซ‹เชˆ เชชเซเชฐเชถเซเชจเซ‹ เชจเชฅเซ€ เช…เชจเซ‡ เช…เชฎเซ‡ เชซเช•เซเชค เช›เชฌเซ€เช“เชจเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เช•เชจเซเชŸเซ‡เชจเชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เชธเชพเชšเชตเซ€เช เช›เซ€เช.

เชœเซเชฏเชพเชฐเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‡ เชฌเชนเซเชตเชฟเชง เช˜เชŸเช•เซ‹ เชคเชฐเซ€เช•เซ‡ เชฐเชœเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชธเซ‚เช•เซเชทเซเชฎ เชธเซ‡เชตเชพเช“, เชชเช›เซ€ เชšเซ‹เช•เซเช•เชธ เช…เชญเชฟเช—เชฎ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เชฌเซ‡ เชˆเชฎเซ‡เชœเซ‹ เชงเชฐเชพเชตเชคเซ€ เชฒเชพเช•เซเชทเชฃเชฟเช• เชตเซ‡เชฌ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเชพ เช‰เชฆเชพเชนเชฐเชฃ เชชเชฐ: frontend ะธ backend - เชธเช‚เชญเชตเชฟเชค เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡:

  1. เช…เชฒเช— เชจเซ‡เชธเซเชŸเซ‡เชก เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชเชฎเชพเช‚ เช›เชฌเซ€เช“ เชธเซเชŸเซ‹เชฐ เช•เชฐเซ‹:

    เชตเชฐเซเชซเชฎเชพเช‚ เชฎเซ‹เชจเซ‹เชฐเซ‡เชชเซ‹ เช…เชจเซ‡ เชฎเชฒเซเชŸเชฟเชฐเซ‡เชชเซ‹ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช…เชจเซ‡ เชกเซ‹เช•เชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชถเซเช‚ เช•เชฐเชตเซเช‚ เช›เซ‡

  2. เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซ‡ เชเช• เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเซ‹, เช…เชจเซ‡ เชŸเซ‡เช—เชฎเชพเช‚ เช‡เชฎเซ‡เชœ เชจเชพเชฎเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชจเซ€เชšเซ‡ เชชเซเชฐเชฎเชพเชฃเซ‡:

    เชตเชฐเซเชซเชฎเชพเช‚ เชฎเซ‹เชจเซ‹เชฐเซ‡เชชเซ‹ เช…เชจเซ‡ เชฎเชฒเซเชŸเชฟเชฐเซ‡เชชเซ‹ เชฎเชพเชŸเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช…เชจเซ‡ เชกเซ‹เช•เชฐ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชถเซเช‚ เช•เชฐเชตเซเช‚ เช›เซ‡

NB: เชตเชพเชธเซเชคเชตเชฎเชพเช‚, เช…เชฒเช—-เช…เชฒเช— เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชเชฎเชพเช‚ เชฌเชšเชค เชธเชพเชฅเซ‡เชจเซ‹ เชฌเซ€เชœเซ‹ เชตเชฟเช•เชฒเซเชช เช›เซ‡, PROJECT-frontend ะธ PROJECT-backend, เชชเชฐเช‚เชคเซ เช…เชฎเซ‡ เชธเชฎเชฐเซเชฅเชจ, เชธเช‚เช—เช เชจ เช…เชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชตเชšเซเชšเซ‡เชจเชพ เช…เชงเชฟเช•เชพเชฐเซ‹เชจเชพ เชตเชฟเชคเชฐเชฃเชจเซ€ เชœเชŸเชฟเชฒเชคเชพเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชคเซ‡เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเชˆเชถเซเช‚ เชจเชนเซ€เช‚.

werf เช†เชงเชพเชฐ

เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, werf เชชเซ‹เชคเชพเชจเซ‡ เชจเซ‡เชธเซเชŸเซ‡เชก เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เช เชธเซเชงเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเซ‡ เช›เซ‡ - เชธเชฆเชจเชธเซ€เชฌเซ‡, เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€ เช† เชธเซเชตเชฟเชงเชพเชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเซ‡ เช›เซ‡. เชธเช‚เชธเซเช•เชฐเชฃเชฅเซ€ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡ v1.0.4-เช†เชฒเซเชซเชพ.3, เชœเซ‡เชฎเชพเช‚ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚ เช›เซ‡ เชฎเชพเชณเซ‹ เช†เชงเชพเชฐเชญเซ‚เชค เชจเชฅเซ€, เช…เชจเซ‡ เชกเซ‹เช•เชฐ เชนเชฌ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชเช• เช›เซ‡. เชคเซ‡ เชฌเชฟเช‚เชฆเซเชฅเซ€, เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชชเชพเชธเซ‡ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เช›เชฌเซ€เช“เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเซ€ เชคเซ‡เชจเซ€ เชชเชธเช‚เชฆเช—เซ€ เช›เซ‡.

เช…เชฎเชฒเซ€เช•เชฐเชฃ เชตเชฟเช•เชฒเซเชช เชนเซ‡เช เชณ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ --images-repo-mode=multirepo|monorepo (เชฎเซ‚เชณเชญเซ‚เชค multirepo, เชเชŸเชฒเซ‡ เช•เซ‡ เชจเซ‡เชธเซเชŸเซ‡เชก เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชเชฎเชพเช‚ เชธเช‚เช—เซเชฐเชน). เชคเซ‡ เชชเซ‡เชŸเชฐเซเชจเชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡เชจเชพ เชฆเซเชตเชพเชฐเชพ เช›เชฌเซ€เช“ เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เชฅเชพเชฏ เช›เซ‡. เชฎเซ‚เชณเชญเซ‚เชค เช†เชฆเซ‡เชถเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช‡เชšเซเช›เชฟเชค เชฎเซ‹เชก เชชเชธเช‚เชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เชชเซ‚เชฐเชคเซเช‚ เช›เซ‡, เช…เชจเซ‡ เชฌเชพเช•เซ€เชจเซเช‚ เชฌเชงเซเช‚ เชฏเชฅเชพเชตเชค เชฐเชนเซ‡เชถเซ‡.

เช•เชพเชฐเชฃ เช•เซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ werf เชตเชฟเช•เชฒเซเชชเซ‹ เชธเซ‡เชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชชเชฐเซเชฏเชพเชตเชฐเชฃเซ€เชฏ เชšเชฒเซ‹, CI / CD เชธเชฟเชธเซเชŸเชฎเซเชธเชฎเชพเช‚, เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฎเซ‹เชก เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชธเชฎเช—เซเชฐ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡ เชตเซˆเชถเซเชตเชฟเช• เชธเซเชคเชฐเซ‡ เชธเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เช›เซ‡. เชฆเชพเช–เซเชฒเชพ เชคเชฐเซ€เช•เซ‡, เช—เชฟเชŸเชฒเซ‡เชฌเชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชซเช•เซเชค เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชฎเชพเช‚ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒ เช‰เชฎเซ‡เชฐเซ‹: เชธเซ‡เชŸเชฟเช‚เช—เซเชธ -> CI / CD -> เชšเชฒ: WERF_IMAGES_REPO_MODE: multirepo|monorepo.

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

เชถเซ‡เชคเชพเชจ เชตเชฟเช—เชคเซ‹เชฎเชพเช‚ เช›เซ‡

เชจเชตเซ€ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชชเชฆเซเชงเชคเชฟ เช‰เชฎเซ‡เชฐเชคเซ€ เชตเช–เชคเซ‡ เชคเชซเชพเชตเชค เช…เชจเซ‡ เชฎเซเช–เซเชฏ เชฎเซเชถเซเช•เซ‡เชฒเซ€ เช เชฐเชœเชฟเชธเซเชŸเซเชฐเซ€เชจเซ‡ เชธเชพเชซ เช•เชฐเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เช›เซ‡ (เชตเซ‡เชฐเชซ เชฆเซเชตเชพเชฐเชพ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เชถเซเชฆเซเชงเชฟเช•เชฐเชฃ เชธเซเชตเชฟเชงเชพเช“ เชฎเชพเชŸเซ‡, เชœเซเช“ เชธเชซเชพเช‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ).

เชธเชซเชพเชˆ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, werf เช•เซเชฌเชฐเชจเซ‡เชŸเซเชธ เช•เซเชฒเชธเซเชŸเชฐเซเชธเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเซ€ เช›เชฌเซ€เช“ เชคเซ‡เชฎเชœ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฆเซเชตเชพเชฐเชพ เช—เซ‹เช เชตเซ‡เชฒเซ€ เชจเซ€เชคเชฟเช“เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡ เช›เซ‡. เชจเซ€เชคเชฟเช“ เชตเซเชฏเซ‚เชนเชฐเชšเชจเชพเช“เชฎเชพเช‚ เชŸเซ‡เช—เชจเชพ เชตเชฟเชญเชพเชœเชจ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡. เชนเชพเชฒเชฎเชพเช‚ เชธเชฎเชฐเซเชฅเชฟเชค เชตเซเชฏเซ‚เชนเชฐเชšเชจเชพเช“:

  1. เชŸเซ…เช—, เชฌเซเชฐเชพเชจเซเชš เช…เชจเซ‡ เช•เชฎเชฟเชŸ เชœเซ‡เชตเซ€ เช—เชฟเชŸ เชชเซเชฐเชฟเชฎเชฟเชŸเชฟเชตเซเชธ เชฆเซเชตเชพเชฐเชพ เชœเซ‹เชกเชพเชฏเซ‡เชฒเซ€ 3 เชตเซเชฏเซ‚เชนเชฐเชšเชจเชพเช“;
  2. เชฎเชจเชธเซเชตเซ€ เช•เชธเซเชŸเชฎ เชŸเซ…เช—เซเชธ เชฎเชพเชŸเซ‡ 1 เชตเซเชฏเซ‚เชนเชฐเชšเชจเชพ.

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

เชœเซเชฏเชพเชฐเซ‡ เชเช• เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เชธเชพเชšเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ (monorepo), เช‡เชฎเซ‡เชœ เชŸเซ‡เช—เชฎเชพเช‚, เชฎเซ‡เชŸเชพ เชŸเซ‡เช— เช‰เชชเชฐเชพเช‚เชค, เช‡เชฎเซ‡เชœเชจเซเช‚ เชจเชพเชฎ เชชเชฃ เชธเซเชŸเซ‹เชฐ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡: PROJECT:frontend-META-TAG. เชคเซ‡เชฎเชจเซ‡ เช…เชฒเช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เช•เซ‹เชˆ เชตเชฟเชถเชฟเชทเซเชŸ เชตเชฟเชญเชพเชœเช• เชฐเชœเซ‚ เช•เชฐเซเชฏเซเช‚ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช…เช‚เชคเชฟเชฎ เช›เชฌเซ€เชจเชพ เชฒเซ‡เชฌเชฒเชฎเชพเช‚ เชœเชฐเซ‚เชฐเซ€ เชฎเซ‚เชฒเซเชฏ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚ เช›เซ‡.

NB: เชœเซ‹ เชคเชฎเชจเซ‡ werf เชธเซเชคเซเชฐเซ‹เชค เช•เซ‹เชกเชฎเชพเช‚ เชตเชฐเซเชฃเชตเซ‡เชฒ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซ เชœเซ‹เชตเชพเชฎเชพเช‚ เชฐเชธ เชนเซ‹เชฏ, เชคเซ‹ เชชเช›เซ€ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชฌเชฟเช‚เชฆเซ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ เชชเซ€เช†เชฐ 1684.

เช† เชฒเซ‡เช–เชฎเชพเช‚, เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เช…เชญเชฟเช—เชฎเชจเซ€ เชธเชฎเชธเซเชฏเชพเช“ เช…เชจเซ‡ เชตเชพเชœเชฌเซ€เชคเชพ เชชเชฐ เชตเชงเซ เชงเซเชฏเชพเชจ เช†เชชเซ€เชถเซเช‚ เชจเชนเซ€เช‚: เชŸเซ‡เช—เชฟเช‚เช— เชตเซเชฏเซ‚เชนเชฐเชšเชจเชพเช“ เชตเชฟเชถเซ‡, เชฒเซ‡เชฌเชฒเซเชธเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพ เช…เชจเซ‡ เชธเชฎเช—เซเชฐ เชชเซเชฐเช•เชพเชถเชจ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชตเชฟเชถเซ‡ - เช† เชฌเชงเซเช‚ เชฆเชฟเชฎเชฟเชคเซเชฐเซ€ เชธเซเชŸเซ‹เชฒเซเชฏเชพเชฐเซ‹เชต เชฆเซเชตเชพเชฐเชพ เชคเชพเชœเซ‡เชคเชฐเชจเชพ เช…เชนเซ‡เชตเชพเชฒเชฎเชพเช‚ เชตเชฟเช—เชคเชตเชพเชฐ เชตเชฐเซเชฃเชตเซ‡เชฒ เช›เซ‡: โ€œwerf เช Kubernetes เชฎเชพเช‚ CI/CD เชฎเชพเชŸเซ‡ เช…เชฎเชพเชฐเซเช‚ เชธเชพเชงเชจ เช›เซ‡ยป.

เชธเชพเชฐเชพเช‚เชถ เชฎเชพเชŸเซ‡

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

เช…เชฎเชพเชฐเซ€ เชธเชพเชฅเซ‡ เชฐเชนเซ‹ เช…เชจเซ‡ เชŸเซ‚เช‚เช• เชธเชฎเชฏเชฎเชพเช‚ เช…เชฎเซ‡ เชคเชฎเชจเซ‡ เช…เชจเซเชฏ เชจเชตเซ€เชจเชคเชพเช“ เชตเชฟเชถเซ‡ เชœเชฃเชพเชตเซ€เชถเซเช‚ เชตเชฐเซเชซ!

PS

เช…เชฎเชพเชฐเชพ เชฌเซเชฒเซ‹เช— เชชเชฐ เชชเชฃ เชตเชพเช‚เชšเซ‹:

เชธเซ‹เชฐเซเชธ: www.habr.com

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