
αααααΆαααααααααΆαα mono-repository ααααΌαααΆααα·ααΆααααΆα
αααΎαααΆααααα α αΎαααΆαααα½ααααααΆαα±ααααΆαααΆαα
ααααΌαα
ααααΆααααΆααααααα αααααΆααααααΎα ααΆα§ααααααααααααΎαα
αα αααααααΌαααΆααα
ααΆα‘αΎαααΎααααΈαααααα’ααααΎαααΆααααααΎαααΌααααααα·ααΈααΈααΌαααΆα Git αα
Docker (α αΎααααααΆαααααααααΌαααΆαα
Kubernetes) ααΎααα·ααα·αα
αααΎαα’αααΈαααααΎαααΆαα½ααααααα’αααα»ααααααα αααααΆαααα½αααΎα ααΆααΆα
αααααααα»αααΆααααααααΌαα’αααΈααααααααΆααααα
αΆαααΆα
ααααααΆααα’αααααΆααααααααα·αααααααααΆ (ααααα·αααΎααΏαααααα·ααααα»αααΉααα»ααα·αα·α
αααααα)α
ααΆαααΆαααα mono-repo ααααΈαααααααα werf ααΊααΆα§ααΆα αααααααα’ααααΏααααα ααα»ααααααΆααααΌα α αΌαααΎαααααααααααΈαααααααααΆαααΆαααααααααΆααΌαα ααΆααααααΉαααΆαααααΎααααΆαα werf αα·αα’αααΈααα Docker Registry ααΆαααααΆααααααααΆαα½αααΆ...
αααα αΆ
α
αΌαααΎααααααααΎαααααΆαααΆαααααααα αααα»αα αα»αααΆααααα»αα’αα·ααααααααΆα
αααΎααααααααΎααΆαααΎααααααα―αααΆαααα αααααα·ααΈααΆαα
αααΎαααααΎαααΆαααΎ Kubernetes ααΌα
ααααα αΎαααααΌαααΆααααα»αα ααΎααααΈαααααΆαα»ααα»αααΌαααΆαα’αααααααΌαααΆααααααΈααααα (αααααΈααααα) α αααα»αααΆαααΆααΆαα
α»ααααααΈαααααα αααα»αα αα»αααααΎααααΆαα Docker Hub ααΆαα½αααΉαααααΈαααα½α COMPANY. ααααααααααΆαα
ααΉααααααααααααα»αααΌααααααααΆαα
αααΎα Docker Hub αα·αα’αα»ααααΆαα±ααααΆαααΆααΆαα»ααααααααΆαααααααΆααααα, ααΌα
ααΆ COMPANY/PROJECT/IMAGE. αααα»αααααΈαααβ¦ ααΎα’αααα’αΆα
αααααΆαα»ααααααα·ααΈααααα·ααααααΆ monolithic αα
αααα»ααααααΈααααααααααΆααααααααααααααααααΆααααα·ααααααΎαααααΈααΆα
ααααα‘αααααααΆααααααααααΈαα½αα?

αααα ααααΆααααΆαααΆααααααΆααα·αααααΆααΊαααΆαααΉαααααΆααααΆαααααααααΆαα ααα»ααααααΌααα·α
αΆαααΆααΈαααα αΆααααΆααααα
αααΆααααα»ααααααα·ααΈααΆααΌαα
αααααΊα§α ααααα·αααααα
ααΎα§ααΆα αααααΆαααΎ αα·α Docker Hub α
αααααααααΆα
ααααα·αααΎαααααα·ααΈ monolithicαααααα»αααΌαααΆααα½α αααααΆαααααα·αααΆααααα½αα’αααΈαα α αΎαααΎαααααΆαααααααααΆαα»αααΌαααΆααα αααα»ααααααΈααααααα»αααΊαααααααααααααα
αα
αααααααααααα·ααΈααααΌαααΆααααα αΆαααΆαααΆαααΆαα»ααΆα
αααΎα ααααΆααΈααααΌαααααΆαααααα·ααΈααΆαααααααΆααααΆαααα½αααααΌαααΆαααΆαααΆαα αα
ααΎα§ααΆα ααααααααααα·ααΈαααααΆαααααααΆαααααΆαααΌαααΆαααΈαα frontend ΠΈ backend - αααααΎααααα’αΆα
ααααΎααΆαααΊα
- αααααΆαα»αααΌαααΆααα
αααα»αααααΆαααααααΆααααΆα
ααααα‘ααα

- αααααΆαα»αα’αααΈααααααααΆααα
αααα»αααααΆαααα½α α αΎααα·α
αΆαααΆαααααααΌαααΆααααα»αααααΆα α§ααΆα αααααΌα
ααΆααααααα

NBα ααΆααα·ααα
ααΆααααααΎααα½αααααααααααΆαα½αααΆααααααΆαα»ααααα»αααααΆααααααααααααΆα PROJECT-frontend ΠΈ PROJECT-backendααα»ααααααΎαααΉααα·ααα·α
αΆαααΆααΆαα αααααΆαααααΆααααα»αααααΆαααααΆαααΆαααα ααΆααααα
α αα·αααΆαα
ααα
αΆααα·αααα·αααΆαα’αααααααΎααααΆααα
ααΆαααΆαααα werf
ααααΌαα‘αΎα werf ααΆαααααααααα½αααΆαα ααααΆαααααααΆαα - ααΆααααΆαααα’ αααααΈαααααααΆαα αααΎαααΆαααααα»αααΆααααα α αΆααααααΎαααΈαααα ααααααααΆαααΆαααΆαα½αααΆαα α»ααααααΈααααααα»αααα αααα»ααα·αααααΌαααΆαααΆαααααααα αΎα Docker Hub ααΊααΆααααααα½ααααα½αααα α αΆααααΈα ααα»α ααααα α’αααααααΎααααΆααααΆααααααΎααααααααααααΆαα»αααΌαααΆααααααα·ααΈα
ααΆαα’αα»ααααααΆααα
ααααααααααΎα --images-repo-mode=multirepo|monorepo (ααααΆαααΎα multirepo, i.e. ααΆααααα»ααα
αααα»αααααΆαααααααΆαα) α ααΆαααααααααΆααααααΌαααΆαααααΌαααΆααααααΆαα»ααααα»ααααααΈαααααα ααΆαααααααααΆαααααα»αααΆαααααΎαααΎααααααααα
ααααΆααα
αααααααΎααΆααααααααΆααΌαααααΆα α αΎαα’αααΈαααααααααααΉααα
αααα·αααααΆααααααΌαα
αααααΆααααααααΎα werf ααΆαα
αααΎαα’αΆα
ααααΌαααΆαααααα α’αααβααα·ααααΆααα
αααα»ααααααααα CI/CD ααΆααααααΆ αααααααα»αααΊααΆααααα½ααααα»αααΆααααααααΆααααααααΆααααααααααΆααααΌαα α§ααΆα ααα, αααα»αααααΈ GitLab ααααΆααααααααααα’αααααα·ααααΆααα
αααα»αααΆααααααααααααα ααΆαααααα -> CI / CD -> α’αααα WERF_IMAGES_REPO_MODE: multirepo|monorepo.
ααααα·αααΎααΎααα·ααΆαα’αααΈααΆαααααα»αααααΌαααΆα αα·αααΆαααΆααα±ααααααΎαααΆααααααα·ααΈ (α’αααα’αΆα α’αΆαα’αααΈααααΎαααΆαααΆααααααααΆααααα’α·ααα αααα»αα’αααααα―αααΆαααΆαααααααα ΠΈ ) αααααΆαααααααααααααααααααΌαααα’αααα’αΆα ααααΎααΆαααΆαα½αααΌαααΆαα
α’αΆαααααααα·ααα αααα»αααααααΆααααα’α·α
ααΆααα»αααααΆαα·αααΆαααααΆαα αααααα ααααααααααα·ααΈααΆααααααααα»αααααΈααΊαααα·ααα αααα»αααααΎαααΆαααααΆααααα’αΆααααααΈααααα (αααααΆαααα»αααΆααααα’αΆααααααΆααααααα werf ααΌαααΎα ).
αα ααααααα’αΆα werf αα·αααΌαα’αααΈααΌαααΆααααααΆαααααΎαα αααα»αα ααααα Kubernetes ααααΌα ααΆαααααΆααααααααΆαααααααα ααΆαααααααααααα’αααααααΎααααΆααα αααααΆαααααΊααα’ααααΎααΆααααα ααααααΆααα ααΆαα»αααααΆαααααα αα»αααααΆααααααααααΆαααααα αα α»ααααααα
- αα»αααααΆααααα 3 αααααααΆααααα Git primitives ααΌα ααΆ tag, branch, and commit;
- αα»αααααΆααααα 1 αααααΆααααααΆαααααΆαααααα½αααΆαα’αααΎα α·αααα
ααΎααααααΆαα»αααααααΆαα’αααΈαα»αααααΆαααααααααΆααα αααααααα»αααααΌαααΆααα αααα»αααααΆαααααΌαααΆαα α»ααααααα α’αααααααααα½αααΆααΊααΆα’αααΈαααααα α ααΆ ααααΆαααααΆ - αααααΌαα±ααα’αα»ααααααααααααΆααα½αα ααα½αα α§ααΆα ααα αα ααααα»αααΆααΆ α¬ααααΆαααΈααααΆαα Git ααΆααΆα‘αΌααΈαααααα»αααΆααα»ααααααΆααααααα αα·αααααΎ ααΌαααΆαααΈαααααΈααααα αααααααΌαααΆααααααααααααααααααααααααααΆαααααααααΎαα
αα
ααααααααΆαα»ααααα»αααααΆαααα½α (monorepo) αα
αααα»αααααΆαααΌαααΆα ααααααααΈααΎααααΆαααααΆ αααααααΌαααΆαααα’αΆα
ααααΌαααΆααααααΆαα»ααααααα PROJECT:frontend-META-TAG. ααΎααααΈααααααα½αααΆ ααΎααα·αααΆαααααΆααααααΆαααααααΆααααΆααααΆαα½ααα ααα»ααααααααΆαααααααααααααααα
αΆαααΆα
ααα
ααααΆαααααΌαααΆαα
α»αααααααα
αααααααα»αααα
NBα ααααα·αααΎα’αααα αΆααα’αΆαααααααααα»αααΆαααΎαα’αααΈααααααααΆααααααΆααα·αααααΆαα αααα»αααΌαααααα werf αααα ααα»α α αΆααααααΎαα’αΆα ααΆ .
αα αααα»αα’αααααααα ααΎαααΉααα·αααα α·ααααα»αααΆαααααααααααα αααααααα αΆ αα·ααα»αααα·αααααααα·ααΈααΆαααααααααααΎαααα α’αααΈαα»αααααΆαααααααΆααααααΆα ααΆααααααΆαα»ααα·αααααααααα»αααααΆα αα·αααααΎαααΆαααααα»αααααΆααααΌα - ααΆααα’αααααααααΌαααΆααα·αααααΆαααα’α·ααα αααα»ααααΆαααΆαααααααΈααααααα Dmitry Stolyarovα ""α
αααααα
αααααααααΆαααΆαααααααααΆααααΆαα α»ααααααααααα·αααΆαααααΆαααα·ααααααΆαααααΆααΆααΆαααααααΆααααΎα α¬α’αααααααΎααααΆαα werf αααααααΆααααΎαααααα - αααααΆααααΈααΆααα’αα α’ααααααααα’αΆα αααααΎαααΆαα α»ααααααΈααΌαααΆαααΆα ααααα‘αα (α¬ααααΌααα ααΆαα α»ααααααΈαα»αααΊαααααΆααααααααααα αααα»α Google Cloud) ... ααααααΆαααΆααααα ααΆαααααΆαααΉααααααΉαααααααα αΆααααΌα ααΆααα ααα»αααα ααΎααααΈα±ααα§αααααααΆαααΆαααΆααααα½αααΆααα»α αα αααα DevOps ααΆααααααΌααααΌααΆαα ααΆαα’αα»ααααααΆ ααΎαααΆαααααααα»αααΉαααΆαααααΆαα αααααααα»αααΆαααααΎαααΆαα‘αΎααα·αααΌαααααααΆααααα’αΆααααααΈααααααα»αααΊαααα α₯α‘αΌααααα’αααΈαααααααααΆααα½α ααΆαα ααΆααΆααΆααααααΎαααΆαααααααΉαααΆααΆααΆααααααΆααααα½ααααααΆααααααΆααααΆαα α αΎαααΎα (ααΆα’αααα’αα·ααααααααααΆαααααααααα) ααΉααα·αααΆαααΆαααααΆααα½αα±ααααααααααΆαααααα»αααΆαααΆαααααα»αααΆαααααααααααααααα
ααααΆαααα ααΆαα½αααΎα α αΎαααΆααααααααΎαααΉαααααΆααα’αααα’αααΈααΆαα αααααααα·ααααααααααα αααα»α !
PS
ααΌαα’αΆαααααααα ααΎαααααααααααΎαα
- «»
- Β«"α
ααααα: www.habr.com


