Stipe foar monorepo en multirepo yn werf en wat hat de Docker Registry dermei te krijen

Stipe foar monorepo en multirepo yn werf en wat hat de Docker Registry dermei te krijen

Π’Π΅ΠΌΠ° монорСпозитория ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»Π°ΡΡŒ ΡƒΠΆΠ΅ Π½Π΅ Ρ€Π°Π· ΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ вСсьма Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ споры. Боздавая werf ΠΊΠ°ΠΊ Open Source-инструмСнт, ΠΏΡ€ΠΈΠ·Π²Π°Π½Π½Ρ‹ΠΉ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ процСссы сборки ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· Git Π² Docker-ΠΎΠ±Ρ€Π°Π·Ρ‹ (ΠΈ ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ доставки Π² Kubernetes), ΠΌΡ‹ ΠΌΠ°Π»ΠΎ Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»ΡΠ΅ΠΌ Π½Π° Ρ‚Π΅ΠΌΡƒ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ Π»ΡƒΡ‡ΡˆΠ΅. Для нас ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ всё Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для сторонников Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ½Π΅Π½ΠΈΠΉ (Ссли это Π½Π΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ Π·Π΄Ρ€Π°Π²ΠΎΠΌΡƒ смыслу, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ).

Появившаяся Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° mono-repo Π² werf β€” Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Ρ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Но для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся, ΠΊΠ°ΠΊ эта ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΎΠΎΠ±Ρ‰Π΅ связана с использованиСм werf ΠΈ ΠΏΡ€ΠΈ Ρ‡Ρ‘ΠΌ здСсь Docker Registry…

Issues

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ Ρ‚Π°ΠΊΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ. Π’ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ имССтся мноТСство ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ…ΡΡ нСзависимыми ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ Π² Kubernetes, Π° соотвСтствСнно β€” ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Π·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. Для хранСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², ΠΎΠ±Ρ€Π°Π·ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ рССстр (registry). Π’ качСствС Ρ‚Π°ΠΊΠΎΠ³ΠΎ рССстра Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Docker Hub с СдинствСнным Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ΠΎΠΌ COMPANY. По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ систСм хранСния исходного ΠΊΠΎΠ΄Π°, Docker Hub Π½Π΅ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π², Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ COMPANY/PROJECT/IMAGE. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС… ΠΊΠ°ΠΊ ΠΆΠ΅ с этим ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² рССстрС Π½Π΅ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹Π΅ прилоТСния, Π½Π΅ создавая ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚?

Stipe foar monorepo en multirepo yn werf en wat hat de Docker Registry dermei te krijen

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, описанная ситуация ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠ½Π°ΡΠ»Ρ‹ΡˆΠΊΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠ°, Π½ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим вопрос ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ хранСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ±Ρ‰Π΅ΠΌ, Ρ‚.Π΅. Π±Π΅Π· привязки ΠΊ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ ΠΈ Docker Hub.

ΠŸΡƒΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎ, поставляСтся Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±Ρ€Π°Π·Π΅, Ρ‚ΠΎ вопросов Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈ ΠΌΡ‹ просто сохраняСм ΠΎΠ±Ρ€Π°Π·Ρ‹ Π² рССстр ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Когда ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ прСдставлСно Π² Π²ΠΈΠ΄Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², mikrotsjinsten, Ρ‚ΠΎ трСбуСтся Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ web-прилоТСния, состоящСго ΠΈΠ· Π΄Π²ΡƒΡ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ²: frontend ΠΈ backend β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ‚Π°ΠΊΠΎΠ²Ρ‹:

  1. Π₯Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Ρ‹ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… рСпозиториях:

    Stipe foar monorepo en multirepo yn werf en wat hat de Docker Registry dermei te krijen

  2. Π₯Ρ€Π°Π½ΠΈΡ‚ΡŒ всё Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π° имя ΠΎΠ±Ρ€Π°Π·Π° ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² Ρ‚Π΅Π³Π΅, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

    Stipe foar monorepo en multirepo yn werf en wat hat de Docker Registry dermei te krijen

NB: Π’ΠΎΠΎΠ±Ρ‰Π΅-Ρ‚ΠΎ, Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с сохранСниСм Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… рСпозиториях, PROJECT-frontend ΠΈ PROJECT-backend, Π½ΠΎ Π΅Π³ΠΎ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ·-Π·Π° слоТности ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ распрСдСлСния ΠΏΡ€Π°Π² ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π² werf

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ werf ограничился Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ рСпозиториями β€” Π±Π»Π°Π³ΠΎ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ рССстров ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. Начиная с вСрсии v1.0.4-alpha.3, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с рССстрами, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ поддСрТиваСтся Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΈ Docker Hub β€” Π² ΠΈΡ… числС. Π‘ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ появился Π²Ρ‹Π±ΠΎΡ€, ΠΊΠ°ΠΊ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Ρ‹ прилоТСния.

РСализация доступна Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠΏΡ†ΠΈΠΈ --images-repo-mode=multirepo|monorepo (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ multirepo, Ρ‚.Π΅. Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… рСпозиториях). Она опрСдСляСт ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·Ρ‹ хранятся Π² рССстрС. Достаточно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΡ€ΠΈ использовании основных ΠΊΠΎΠΌΠ°Π½Π΄, Π° всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ останСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΎΠΏΡ†ΠΈΠΉ werf ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ окруТСния, Π² CI/CD-систСмах Ρ€Π΅ΠΆΠΈΠΌ хранСния, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π»Π΅Π³ΠΊΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ глобально для всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. НапримСр, Π² случаС с GitLab достаточно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния Π² настройках ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: Settings -> CI / CD -> Variables: WERF_IMAGES_REPO_MODE: multirepo|monorepo.

Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΈ Π²Ρ‹ΠΊΠ°Ρ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ΠΎΠ± этих процСссах ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ: Publish process ΠΈ Deploy process), Ρ‚ΠΎ Ρ€Π΅ΠΆΠΈΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ опрСдСляСт шаблон, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

De duvel is yn 'e details

ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΈ основная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ способа хранСния β€” Π² процСссС очистки registry (возмоТности чистки, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π² werf, см. Π² Reinigingsproses).

ΠŸΡ€ΠΈ очисткС werf ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² кластСрах Kubernetes ΠΎΠ±Ρ€Π°Π·Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ, настраиваСмыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’ основС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ Π»Π΅ΠΆΠΈΡ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π³ΠΎΠ² Π½Π° стратСгии. Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π² настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚:

  1. 3 стратСгии, связанныС Git-ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Ρ‚Π΅Π³, Π²Π΅Ρ‚ΠΊΠ° ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚;
  2. 1 стратСгия для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚Π΅Π³ΠΎΠ².

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ стратСгии Ρ‚Π΅Π³Π° ΠΌΡ‹ сохраняСм ΠΏΡ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π·Π° Π² Π»Π΅ΠΉΠ±Π»Π°Ρ… ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π°. Π‘Π°ΠΌΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚Π°Ρ‚Π΅Π³ β€” Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для примСнСния части ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ. НапримСр, ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π²Π΅Ρ‚ΠΊΠΈ ΠΈΠ»ΠΈ Ρ‚Π΅Π³Π° ΠΈΠ· Git-рСпозитория Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈ связанныС Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΈΠ· рССстра, Ρ‡Ρ‚ΠΎ ΠΈ покрываСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Π½Π°ΡˆΠΈΡ… ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ.

ΠŸΡ€ΠΈ сохранСнии Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ (monorepo), Π² Ρ‚Π΅Π³Π΅ ΠΎΠ±Ρ€Π°Π·Π°, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΌΠ΅Ρ‚Π°Ρ‚Π΅Π³Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ имя ΠΎΠ±Ρ€Π°Π·Π°: PROJECT:frontend-META-TAG. Для ΠΈΡ… раздСлСния ΠΌΡ‹ Π½Π΅ стали Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ спСцифичный Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ, Π° просто Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π»Π΅ΠΉΠ±Π» ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π° ΠΏΡ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

NB: Если интСрСсно ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° всё описанноС Π² исходном ΠΊΠΎΠ΄Π΅ werf, Ρ‚ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ PR 1684.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠ΄Π΅Π»ΡΡ‚ΡŒ большС внимания ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΈ обоснованию нашСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°: ΠΏΡ€ΠΎ стратСгии тСгирования, хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Π»Π΅ΠΉΠ±Π»Π°Ρ… ΠΈ процСсс ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ β€”ΠΎΠ±ΠΎ всём этом ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассказано Π² Π½Π΅Π΄Π°Π²Π½Π΅ΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ Дмитрия Бтолярова: Β«werf is ΓΊs ark foar CI/CD yn Kubernetes".

Gearfetsje

ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ рССстров Π±Π΅Π· влоТСнности Π½Π΅ являлось Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ для нас ΠΈΠ»ΠΈ извСстных Π½Π°ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ werf β€” вСдь всСгда ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ рССстр ΠΎΠ±Ρ€Π°Π·ΠΎΠ² (ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° условный Container Registry Π² Google Cloud)… Однако снятиС Ρ‚Π°ΠΊΠΎΠ³ΠΎ ограничСния выглядСло Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ инструмСнт Π±Ρ‹Π» ΡƒΠ΄ΠΎΠ±Π΅Π½ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ DevOps-сообщСству. РСализуя Π΅Π³ΠΎ, ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π² ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° очистки рССстра ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° всё Π³ΠΎΡ‚ΠΎΠ²ΠΎ, приятно ΠΎΡΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ стало Π»Π΅Π³Ρ‡Π΅, Π° Ρƒ нас (ΠΊΠ°ΠΊ Π³Π»Π°Π²Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°) Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… слоТностСй Π² дальнСйшСй ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ этой Ρ„ΠΈΡ‡ΠΈ Π½Π΅ прСдвидится.

ΠžΡΡ‚Π°Π²Π°ΠΉΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ ΠΈ совсСм скоро ΠΌΡ‹ расскаТСм ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… нововвСдСниях Π² werf!

PS

LΓͺs ek op ΓΊs blog:

Boarne: www.habr.com

Add a comment