ВСрсия Π½Π° werf 1.1: подобрСния Π² ΡΡŠΠ·Π΄Π°Ρ‚Π΅Π»Ρ днСс ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ

ВСрсия Π½Π° werf 1.1: подобрСния Π² ΡΡŠΠ·Π΄Π°Ρ‚Π΅Π»Ρ днСс ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ

werf Π΅ Π½Π°ΡˆΠ°Ρ‚Π° ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° GitOps CLI с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ ΠΈ доставянС Π½Π° прилоТСния Π΄ΠΎ Kubernetes. ΠšΠ°ΠΊΡ‚ΠΎ Π΅ ΠΎΠ±Π΅Ρ‰Π°Π½ΠΎ, ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° вСрсия v1.0 отбСляза Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° добавянС Π½Π° Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ към werf ΠΈ ΠΏΡ€Π΅Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ. Π‘Π΅Π³Π° ΠΈΠΌΠ°ΠΌΠ΅ удоволствиСто Π΄Π° Π²ΠΈ прСдставим ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ v1.1, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ голяма ΡΡ‚ΡŠΠΏΠΊΠ° Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ ΠΈ основа Π·Π° Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ ΠΊΠΎΠ»Π΅ΠΊΡ‚ΠΎΡ€ werf. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° вСрсията Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π² ΠΊΠ°Π½Π°Π» 1.1 Π±Ρ€.

ΠžΡΠ½ΠΎΠ²Π°Ρ‚Π° Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ Π½ΠΎΠ²Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½Π° сцСничното ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π΄Π²Π°Ρ‚Π° ΠΊΠΎΠ»Π΅ΠΊΡ‚ΠΎΡ€Π° (Π·Π° Stapel ΠΈ Dockerfile). Новата Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ отваря Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° внСдряванС Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ сглобки ΠΎΡ‚ мноТСство хостовС ΠΈ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ сглобки Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ хост.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° Π½Π΅Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ изчислСния Π½Π° Π΅Ρ‚Π°ΠΏΠ° Π½Π° изчисляванС Π½Π° сигнатури Π½Π° Π΅Ρ‚Π°ΠΏΠΈ ΠΈ промяна Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈΡ‚Π΅ Π·Π° изчисляванС Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ суми Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ към ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΈ. Π’Π°Π·ΠΈ оптимизация намалява срСдното Π²Ρ€Π΅ΠΌΠ΅ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° werf. И ΠΏΡ€Π°Π·Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ всички Π΅Ρ‚Π°ΠΏΠΈ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ Π² кСша Π΅Ρ‚Π°ΠΏΠΈ-склад, Π²Π΅Ρ‡Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡŠΡ€Π·ΠΈ. Π’ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ случаи рСстартиранСто Π½Π° компилацията Ρ‰Π΅ ΠΎΡ‚Π½Π΅ΠΌΠ΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ 1 сСкунда! Π’ΠΎΠ²Π° Π²Π°ΠΆΠΈ ΠΈ Π·Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈΡ‚Π΅ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π΅Ρ‚Π°ΠΏΠΈΡ‚Π΅ Π² процСса Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Π΅ΠΊΠΈΠΏΠΈΡ‚Π΅. werf deploy ΠΈ werf run.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π² Ρ‚Π°Π·ΠΈ вСрсия сС появи стратСгия Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ Π½Π° изобраТСния ΠΏΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ - ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅, ΠΊΠΎΠΉΡ‚ΠΎ Π²Π΅Ρ‡Π΅ Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ СдинствСният ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π°Π½.

НСка Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎ-ΠΎΡ‚Π±Π»ΠΈΠ·ΠΎ ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈΡ‚Π΅ ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ Π² werf v1.1 ΠΈ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π²ΠΈ Ρ€Π°Π·ΠΊΠ°ΠΆΠ΅ΠΌ Π·Π° ΠΏΠ»Π°Π½ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ.

Какво сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² werf v1.1?

Нов Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π·Π° ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Π΅Ρ‚Π°ΠΏΠΈ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π΅Ρ‚Π°ΠΏΠΈ ΠΎΡ‚ кСша

Ново ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° сцСнично ΠΈΠΌΠ΅. Π‘Π΅Π³Π° всяко ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΅Ρ‚Π°ΠΏ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΡƒΠ½ΠΈΠΊΠ°Π»Π½ΠΎ ΠΈΠΌΠ΅ Π½Π° Π΅Ρ‚Π°ΠΏ, ΠΊΠΎΠ΅Ρ‚ΠΎ сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ 2 части: подпис (ΠΊΠ°ΠΊΡ‚ΠΎ бСшС във v1.0) плюс ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€.

НапримСр ΠΏΡŠΠ»Π½ΠΎΡ‚ΠΎ ΠΈΠΌΠ΅ Π½Π° сцСничното ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

werf-stages-storage/myproject:d2c5ad3d2c9fcd9e57b50edd9cb26c32d156165eb355318cebc3412b-1582656767835

...ΠΈΠ»ΠΈ Π½Π°ΠΉ-ΠΎΠ±Ρ‰ΠΎ:

werf-stages-storage/PROJECT:SIGNATURE-TIMESTAMP_MILLISEC

Π’ΡƒΠΊ:

  • SIGNATURE Π΅ Π΅Ρ‚Π°ΠΏΠ΅Π½ подпис, ΠΊΠΎΠΉΡ‚ΠΎ прСдставлява ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π½Π° Π΅Ρ‚Π°ΠΏΠ½ΠΎΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ ΠΈ зависи ΠΎΡ‚ хронологията Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π² Git, Π΄ΠΎΠ²Π΅Π»ΠΈ Π΄ΠΎ Ρ‚ΠΎΠ²Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅;
  • TIMESTAMP_MILLISEC Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½ ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠΉΡ‚ΠΎ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π΅Ρ‚Π°ΠΏΠΈ ΠΎΡ‚ кСша сС основава Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°Ρ‚Π° Π½Π° Git Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅:

  1. Werf изчислява сигнатурата Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π΅Ρ‚Π°ΠΏ.
  2. Π’ Π΅Ρ‚Π°ΠΏΠΈ-склад МоТС Π΄Π° ΠΈΠΌΠ° няколко Π΅Ρ‚Π°ΠΏΠ° Π·Π° Π΄Π°Π΄Π΅Π½ подпис. Werf ΠΈΠ·Π±ΠΈΡ€Π° всички Π΅Ρ‚Π°ΠΏΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ отговарят Π½Π° подписа.
  3. Ако тСкущият Π΅Ρ‚Π°ΠΏ Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ с Git (git-Π°Ρ€Ρ…ΠΈΠ², потрСбитСлски Π΅Ρ‚Π°ΠΏ с Git ΠΏΠ°Ρ‡ΠΎΠ²Π΅: install, beforeSetup, setup; ΠΈΠ»ΠΈ git-latest-patch), Ρ‚ΠΎΠ³Π°Π²Π° werf ΠΈΠ·Π±ΠΈΡ€Π° само ΠΎΠ½Π΅Π·ΠΈ Π΅Ρ‚Π°ΠΏΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½ΠΈΠΊ Π½Π° тСкущия ΠΊΠΎΠΌΠΈΡ‚ (Π·Π° ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·Π²ΠΈΠΊΠ²Π° компилацията).
  4. ΠžΡ‚ останалитС подходящи Π΅Ρ‚Π°ΠΏΠΈ сС ΠΈΠ·Π±ΠΈΡ€Π° Π΅Π΄ΠΈΠ½ - Π½Π°ΠΉ-старият ΠΏΠΎ Π΄Π°Ρ‚Π° Π½Π° създаванС.

Π•Ρ‚Π°ΠΏ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ Π½Π° Git ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Сднакъв подпис. Но werf Ρ‰Π΅ ΠΏΠΎΠΏΡ€Π΅Ρ‡ΠΈ Π½Π° кСша, ΡΠ²ΡŠΡ€Π·Π°Π½ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅, Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅Π·ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅, Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ подписитС ΡΡŠΠ²ΠΏΠ°Π΄Π°Ρ‚.

β†’ ДокумСнтация.

Нов Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° създаванС ΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΅Ρ‚Π°ΠΏΠΈ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° Π΅Ρ‚Π°ΠΏΠ°

Ако, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·Π±ΠΈΡ€Π° Π΅Ρ‚Π°ΠΏΠΈ ΠΎΡ‚ кСша, werf Π½Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈ подходящ Π΅Ρ‚Π°ΠΏ, Ρ‚ΠΎΠ³Π°Π²Π° сС ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€Π° ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° сглобяванС Π½Π° Π½ΠΎΠ² Π΅Ρ‚Π°ΠΏ.

Π˜ΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ мноТСство процСси (Π½Π° Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ хостовС) ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ‚ Π΄Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Ρ‚ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ Π΅Ρ‚Π°ΠΏ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ Π²Ρ€Π΅ΠΌΠ΅. Werf ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° оптимистичСн Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Π΅Ρ‚Π°ΠΏΠΈ-склад Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° прясно ΡΡŠΠ±Ρ€Π°Π½ΠΎΡ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΅Ρ‚Π°ΠΏΠΈ-склад. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½ΠΎΠ²Π°Ρ‚Π° компилация Π½Π° Π΅Ρ‚Π°ΠΏΠ° Π΅ Π³ΠΎΡ‚ΠΎΠ²Π°, werf Π±Π»ΠΎΠΊΠΈΡ€Π° Π΅Ρ‚Π°ΠΏΠΈ-склад ΠΈ записва прясно ΡΡŠΠ±Ρ€Π°Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΌ само Π°ΠΊΠΎ Ρ‚Π°ΠΌ Π²Π΅Ρ‡Π΅ Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° подходящо ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (ΠΏΠΎ подпис ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ - Π²ΠΈΠΆΡ‚Π΅ новия Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π΅Ρ‚Π°ΠΏΠΈ ΠΎΡ‚ кСша).

ΠŸΡ€ΡΡΠ½ΠΎ сглобСното ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ ΠΈΠΌΠ° ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΡ‚ TIMESTAMP_MILLISEC (Π²ΠΈΠΆΡ‚Π΅ новия Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π·Π° ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° Π΅Ρ‚Π°ΠΏΠ°). Π’ случай, Ρ‡Π΅ Π² Π΅Ρ‚Π°ΠΏΠΈ-склад Ρ‰Π΅ бъдС Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΎ подходящо ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, werf Ρ‰Π΅ ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»ΠΈ прясно ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΎΡ‚ кСша.

Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ: ΠΏΡŠΡ€Π²ΠΈΡΡ‚ процСс, ΠΊΠΎΠΉΡ‚ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ (Π½Π°ΠΉ-Π±ΡŠΡ€Π·ΠΈΡΡ‚), Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΏΡ€Π°Π²ΠΎΡ‚ΠΎ Π΄Π° Π³ΠΎ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π½Π° Π΅Ρ‚Π°ΠΏΠΈ-ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ (ΠΈ слСд Ρ‚ΠΎΠ²Π° Ρ‚ΠΎΠ²Π° СдинствСно ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° всички ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ). Бавният процСс Π½Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½ΠΈΠΊΠΎΠ³Π° няма Π΄Π° ΠΏΠΎΠΏΡ€Π΅Ρ‡ΠΈ Π½Π° ΠΏΠΎ-Π±ΡŠΡ€Π· процСс Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° тСкущия Π΅Ρ‚Π°ΠΏ ΠΈ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ към слСдващото ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅.

β†’ ДокумСнтация.

ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° производитСлност Π½Π° конструктора Π½Π° Dockerfile

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΡŠΡ‚ ΠΎΡ‚ Π΅Ρ‚Π°ΠΏΠΈ Π·Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΎ ΠΎΡ‚ Dockerfile, сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Π΅Π΄ΠΈΠ½ Π΅Ρ‚Π°ΠΏ - dockerfile. ΠŸΡ€ΠΈ изчисляванС Π½Π° подписа сС изчислява ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° сума Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ context, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡ€ΠΈ ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ°. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅ werf рСкурсивно ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° ΠΏΡ€Π΅Π· всички Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° сума Ρ‡Ρ€Π΅Π· сумиранС Π½Π° контСкста ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° всСки Ρ„Π°ΠΉΠ». Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ с v1.1, werf ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° изчислСни ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ суми, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½ΠΈ Π² Git Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ сС основава Π½Π° git ls-Π΄ΡŠΡ€Π²ΠΎ. ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ записитС Π² .dockerignore ΠΈ рСкурсивно ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° ΠΏΡ€Π΅Π· Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΡ‚ΠΎ Π΄ΡŠΡ€Π²ΠΎ само ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. Π’Π°ΠΊΠ° ΠΎΡ‚Π΄Π΅Π»ΠΈΡ…ΠΌΠ΅ Ρ‡Π΅Ρ‚Π΅Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма ΠΈ зависимостта Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° context Π½Π΅ Π΅ Π·Π½Π°Ρ‡ΠΈΠΌΠΎ.

ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° провСрява нСпрослСдСнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π³ΠΈ Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° сума.

ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° производитСлност ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅

ВСрсиитС Π½Π° werf v1.1 ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ rsync ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ‚ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΈ ΠΈ изобраТСния. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΡˆΠ΅ Π² Π΄Π²Π΅ ΡΡ‚ΡŠΠΏΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° дирСктория ΠΎΡ‚ хост систСмата.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π² macOS Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° ΠΎΡ‚ Ρ‚ΠΎΠΌΠΎΠ²Π΅Ρ‚Π΅ Π½Π° Docker ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π° Π·Π° ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΊΠ°Ρ‚ΠΎ Linux ΠΈ Windows.

Π’Π°Π³Π²Π°Π½Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅

Werf v1.1 ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ‚Π°ΠΊΠ° Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΎΡ‚ΠΎ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ Ρ‡Ρ€Π΅Π· ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ - ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅. Π•Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ Docker изобраТСния зависят ΠΎΡ‚ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Π·ΠΈ изобраТСния.

ΠŸΡ€ΠΈ изпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° werf publish --tags-by-stages-signature ΠΈΠ»ΠΈ werf ci-env --tagging-strategy=stages-signature ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈ изобраТСния Π½Π° Ρ‚.Π½Π°Ρ€ сцСничСн подпис ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Всяко ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΅ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½ΠΎ със собствСн подпис Π½Π° Π΅Ρ‚Π°ΠΏΠΈΡ‚Π΅ Π½Π° Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠΉΡ‚ΠΎ сС изчислява ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΊΠ°Ρ‚ΠΎ обикновСния подпис Π½Π° всСки Π΅Ρ‚Π°ΠΏ ΠΏΠΎΠΎΡ‚Π΄Π΅Π»Π½ΠΎ, Π½ΠΎ Π΅ ΠΎΠ±Ρ‰ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

Π‘ΠΈΠ³Π½Π°Ρ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° Π΅Ρ‚Π°ΠΏΠΈΡ‚Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ зависи ΠΎΡ‚:

  1. ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅;
  2. истории Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² Git, Π΄ΠΎΠ²Π΅Π»ΠΈ Π΄ΠΎ Ρ‚ΠΎΠ²Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅.

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° Git Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠΌΠ° Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ промСнят ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ с изобраТСния. НапримСр Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ само с ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ ΠΈΠ»ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° сливанС, ΠΈΠ»ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ промСнят ΠΎΠ½Π΅Π·ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² Git, ΠΊΠΎΠΈΡ‚ΠΎ няма Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Π½ΠΈ Π² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

ΠŸΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ с Π½Π΅Π½ΡƒΠΆΠ½ΠΎ рСстартиранС Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π½Π° прилоТСния Π² Kubernetes ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ сС Ρ€Π΅ΡˆΠ°Π²Π°Ρ‚, Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π΅ сС Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»ΠΎ. ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, Ρ‚ΠΎΠ²Π° Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ прСдотвратяват ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ микроуслуги Π½Π° Π΅Π΄Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π΅Π΄Π½ΠΎ Git Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ°, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ Π΅ ΠΏΠΎ-Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ ΠΎΡ‚ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ Π½Π° Git, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ изобраТСния Π½Π΅ зависи ΠΎΡ‚ Ρ€Π΅Π΄Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΈ Π² CI систСмата Π·Π° сглобяванС Π½Π° мноТСство Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ΠΈ ΠΊΠ»ΠΎΠ½.

Π’Π°ΠΆΠ½ΠΎ Π΅: ΠΎΡ‚ сСга Π΅Ρ‚Π°ΠΏΠΈ-подпис - СдинствСната ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡ΠΈΡ‚Π΅Π»Π½Π° стратСгия Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅. Π’ΠΎΠΉ Ρ‰Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° werf ci-env (освСн Π°ΠΊΠΎ ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ Π½Π΅ посочитС Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° схСма Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅).

β†’ ДокумСнтация. На Ρ‚Π°Π·ΠΈ функция Ρ‰Π΅ бъдС посвСтСна ΠΈ ΠΎΡ‚Π΄Π΅Π»Π½Π° публикация. ΠΠšΠ’Π£ΠΠ›Π˜Π—Π˜Π ΠΠΠž (3 Π°ΠΏΡ€ΠΈΠ»): Бтатия с подробности ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΎ.

Нива Π½Π° рСгистриранС

ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΡ‚ Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° ΠΈΠ·Ρ…ΠΎΠ΄Π°, Π΄Π° Π·Π°Π΄Π°Π΄Π΅ Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° рСгистриранС ΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с информация Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ --log-quiet, --log-verbose, --log-debug.

По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈΠ·Ρ…ΠΎΠ΄ΡŠΡ‚ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°Ρ‚Π° информация:

ВСрсия Π½Π° werf 1.1: подобрСния Π² ΡΡŠΠ·Π΄Π°Ρ‚Π΅Π»Ρ днСс ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ

ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ многословСн ΠΈΠ·Ρ…ΠΎΠ΄ (--log-verbose) ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ werf:

ВСрсия Π½Π° werf 1.1: подобрСния Π² ΡΡŠΠ·Π΄Π°Ρ‚Π΅Π»Ρ днСс ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π΅Π½ ΠΈΠ·Ρ…ΠΎΠ΄ (--log-debug), Π² допълнСниС към информацията Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π½Π° werf, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΈ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. НапримСр ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π° взаимодСйствиСто с Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° Π½Π° Docker ΠΈ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΄Π° Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ мСстата, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ сС ΠΏΡ€Π΅ΠΊΠ°Ρ€Π²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅:

ВСрсия Π½Π° werf 1.1: подобрСния Π² ΡΡŠΠ·Π΄Π°Ρ‚Π΅Π»Ρ днСс ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° Π±ΡŠΠ΄Π΅Ρ‰Π΅Ρ‚ΠΎ

По-Π½Π°Ρ‚Π°Ρ‚ΡŠΡˆΠ½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠžΠΏΡ†ΠΈΠΈΡ‚Π΅, описани ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ, са ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½ΠΈ v1.1 Ρ‰Π΅ станат Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π² Ρ‚Π°Π·ΠΈ вСрсия, ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ тях Π² Π±Π»ΠΈΠ·ΠΊΠΎ Π±ΡŠΠ΄Π΅Ρ‰Π΅. АктуализациитС Ρ‰Π΅ ΠΈΠ΄Π²Π°Ρ‚ Ρ‡Ρ€Π΅Π· Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ multiwerf. Π’Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ засягат стабилната част Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ v1.1; появата ΠΈΠΌ няма Π΄Π° изисква Ρ€ΡŠΡ‡Π½Π° намСса Π½Π° потрСбитСля Π² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Docker Registry (ΠΠžΠ’Πž)

Π¦Π΅Π»Ρ‚Π° Π΅ потрСбитСлят Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° пСрсонализирана рСализация Π±Π΅Π· ограничСния, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° werf.

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° смС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π»ΠΈ слСдния Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅ пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°:

  • По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°/Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€)*,
  • AWS ECR
  • Π»Π°Π·ΡƒΡ€Π½ΠΎ*,
  • Docker Hub
  • GCR*,
  • GitHub ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ
  • Π Π΅Π³ΠΈΡΡ‚ΡŠΡ€ Π½Π° GitLab*,
  • пристанищС*,
  • КСй.

Π Π΅ΡˆΠ΅Π½ΠΈΡΡ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ напълно ΠΎΡ‚ werf, са ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½ΠΈ със Π·Π²Π΅Π·Π΄ΠΈΡ‡ΠΊΠ°. Π—Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΈΠΌΠ° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°, Π½ΠΎ с ограничСния.

ΠœΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ Π΄Π²Π° основни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°:

  • Някои Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° Ρ‚Π°Π³ΠΎΠ²Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° API Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° Π½Π° Docker, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ позволява Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ почистванС Π½Π° werf. Π’ΠΎΠ²Π° Π²Π°ΠΆΠΈ Π·Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ AWS ECR, Docker Hub ΠΈ GitHub.
  • Някои Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ Ρ‚Π°ΠΊΠ° Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈΡ‚Π΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° (Docker Hub, GitHub Packages ΠΈ Quay) ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚, Π½ΠΎ потрСбитСлят трябва Π΄Π° Π³ΠΈ създадС Ρ€ΡŠΡ‡Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° потрСбитСлския интСрфСйс ΠΈΠ»ΠΈ API (AWS ECR).

НиС Ρ‰Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌ Ρ‚Π΅Π·ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ собствСнитС API Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ‚Π°. Π’Π°Π·ΠΈ Π·Π°Π΄Π°Ρ‡Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΈ ΠΏΠΎΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° пълния Ρ†ΠΈΠΊΡŠΠ» Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° werf с тСстовС Π·Π° всСки ΠΎΡ‚ тях.

Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (↑)

  • ВСрсия: v1.2 v1.1 (ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΡŠΡ‚ Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Ρ‚Π°Π·ΠΈ функция Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½)
  • Π”Π°Ρ‚ΠΈ: ΠΌΠ°Ρ€Ρ‚-Π°ΠΏΡ€ΠΈΠ» ΠΌΠ°Ρ€Ρ‚
  • ИздаванС

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° werf v1.0 ΠΈ v1.1 ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ само Π½Π° Π΅Π΄ΠΈΠ½ спСциалСн хост Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅ Π½Π° изобраТСния ΠΈ внСдряванС Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π² Kubernetes.

Π—Π° Π΄Π° сС отворят Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π·Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° werf, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ ΠΈ внСдряванСто Π½Π° прилоТСния Π² Kubernetes сС стартират Π½Π° няколко ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ хоста ΠΈ Ρ‚Π΅Π·ΠΈ хостовС Π½Π΅ Π·Π°ΠΏΠ°Π·Π²Π°Ρ‚ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ си ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈΡ‚Π΅ (Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‰ΠΈ сС), werf сС изисква Π΄Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° Π½Π° Docker ΠΊΠ°Ρ‚ΠΎ място Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅.

ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ werf всС ΠΎΡ‰Π΅ сС Π½Π°Ρ€ΠΈΡ‡Π°ΡˆΠ΅ dapp, имашС Ρ‚Π°ΠΊΠ°Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π° сС Π½Π°Ρ‚ΡŠΠΊΠ½Π°Ρ…ΠΌΠ΅ Π½Π° Ρ€Π΅Π΄ΠΈΡ†Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π²Π·Π΅Ρ‚ΠΈ ΠΏΠΎΠ΄ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ внСдряванСто Π½Π° Ρ‚Π°Π·ΠΈ функционалност Π² werf.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. Π’Π°Π·ΠΈ функция Π½Π΅ изисква ΠΊΠΎΠ»Π΅ΠΊΡ‚ΠΎΡ€ΡŠΡ‚ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Kubernetes pods, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°, трябва Π΄Π° сС ΠΎΡ‚ΡŠΡ€Π²Π΅Ρ‚Π΅ ΠΎΡ‚ зависимостта ΠΎΡ‚ локалния Docker ΡΡŠΡ€Π²ΡŠΡ€ (Π² Kubernetes pod няма Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ локалния Docker ΡΡŠΡ€Π²ΡŠΡ€, Π·Π°Ρ‰ΠΎΡ‚ΠΎ самият процСс сС изпълнява Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π° werf Π½Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΈ няма Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ€Π°Π±ΠΎΡ‚Π° с Docker ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΏΡ€Π΅Π· ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°). ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Kubernetes Ρ‰Π΅ бъдС Π²Π½Π΅Π΄Ρ€Π΅Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ.

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° GitHub Actions (ΠΠžΠ’Πž)

Π’ΠΊΠ»ΡŽΡ‡Π²Π° werf докумСнтация (сСкции справка ΠΈ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΠΈ), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½ΠΎΡ‚ΠΎ GitHub дСйствиС Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с werf.

Π’ допълнСниС, Ρ‚ΠΎΠ²Π° Ρ‰Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π½Π° werf Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΡŠΡ€Ρ…Ρƒ Π΅Ρ„ΠΈΠΌΠ΅Ρ€Π½ΠΈ Π±Π΅Π³Π°Ρ‡ΠΈ.

ΠœΠ΅Ρ…Π°Π½ΠΈΠΊΠ°Ρ‚Π° Π½Π° взаимодСйствиС Π½Π° потрСбитСля с CI систСмата Ρ‰Π΅ сС основава Π½Π° поставянС Π½Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ Π²ΡŠΡ€Ρ…Ρƒ заявки Π·Π° изтСглянС, Π·Π° Π΄Π° сС ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€Π°Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ дСйствия Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅/Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

Π›ΠΎΠΊΠ°Π»Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ ΠΈ внСдряванС Π½Π° прилоТСния с werf (↓)

  • ВСрсия: v1.1
  • Π”Π°Ρ‚ΠΈ: януари-Ρ„Π΅Π²Ρ€ΡƒΠ°Ρ€ΠΈ Π°ΠΏΡ€ΠΈΠ»
  • ИздаванС

ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° Ρ†Π΅Π» Π΅ Π΄Π° сС постигнС Π΅Π΄ΠΈΠ½Π½Π° ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π° конфигурация Π·Π° внСдряванС Π½Π° прилоТСния ΠΊΠ°ΠΊΡ‚ΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎ, Ρ‚Π°ΠΊΠ° ΠΈ Π² производство, Π±Π΅Π· слоТни дСйствия, извън кутията.

werf ΡΡŠΡ‰ΠΎ трябва Π΄Π° ΠΈΠΌΠ° Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ бъдС ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ.

Нов Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° почистванС (ΠΠžΠ’)

Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° вСрсия Π½Π° werf v1.1 Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ‚Π° cleanup Няма Ρ€Π°Π·ΠΏΠΎΡ€Π΅Π΄Π±Π° Π·Π° почистванС Π½Π° изобраТСния Π·Π° Π±Π°Π·ΠΈΡ€Π°Π½Π°Ρ‚Π° Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ схСма Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ - Ρ‚Π΅Π·ΠΈ изобраТСния Ρ‰Π΅ сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ²Π°Ρ‚.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° вСрсия Π½Π° werf (v1.0 ΠΈ v1.1) ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° почистванС Π·Π° изобраТСния, ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈ ΠΏΠΎΠ΄ схСми Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅: Git ΠΊΠ»ΠΎΠ½, Git tag ΠΈΠ»ΠΈ Git commit.

Π˜Π·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ Π΅ Π½ΠΎΠ² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° почистванС Π½Π° изобраТСния, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° историята Π½Π° ΠΊΠΎΠΌΠΈΡ‚ΠΈΡ‚Π΅ Π² Git, ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ Π·Π° всички схСми Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅:

  • Π‘ΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΉΡ‚Π΅ Π½Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ N1 изобраТСния, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ‚Π΅ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ N2 Π·Π° всСки git HEAD (ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈ Ρ‚Π°Π³ΠΎΠ²Π΅).
  • Π‘ΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΉΡ‚Π΅ Π½Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ N1 Π΅Ρ‚Π°ΠΏΠ½ΠΈ изобраТСния, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с N2 Π½Π°ΠΉ-ΡΠΊΠΎΡ€ΠΎΡˆΠ½ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° всСки git HEAD (ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈ Ρ‚Π°Π³ΠΎΠ²Π΅).
  • Π‘ΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΉΡ‚Π΅ всички изобраТСния, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ във всички рСсурси Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Π½Π° Kubernetes (всички контСксти Π½Π° kube Π½Π° конфигурационния Ρ„Π°ΠΉΠ» ΠΈ пространства ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° сС сканират; ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ със спСциални ΠΎΠΏΡ†ΠΈΠΈ).
  • Π‘ΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΉΡ‚Π΅ всички изобраТСния, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π² манифСсти Π·Π° конфигурация Π½Π° рСсурси, Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ Π² изданията Π½Π° Helm.
  • Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚ΠΎ, Π°ΠΊΠΎ Π½Π΅ Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ с Π½ΠΈΡ‚ΠΎ Π΅Π΄ΠΈΠ½ HEAD ΠΎΡ‚ git (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Ρ‰ΠΎΡ‚ΠΎ самият ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π΅Π½ HEAD Π΅ ΠΈΠ·Ρ‚Ρ€ΠΈΡ‚) ΠΈ Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ манифСсти Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° Π½Π° Kubernetes ΠΈ Π² изданията Π½Π° Helm.

ΠŸΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (↓)

  • ВСрсия: v1.1
  • Π”Π°Ρ‚ΠΈ: януари-Ρ„Π΅Π²Ρ€ΡƒΠ°Ρ€ΠΈ Π°ΠΏΡ€ΠΈΠ»*

Π’Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° вСрсия Π½Π° werf ΡΡŠΠ±ΠΈΡ€Π° изобраТСнията ΠΈ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΈΡ‚Π΅, описани Π² werf.yaml, послСдоватСлно. НСобходимо Π΅ Π΄Π° сС ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π° ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° сглобяванС Π½Π° нСзависими Π΅Ρ‚Π°ΠΏΠΈ ΠΎΡ‚ изобраТСния ΠΈ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄Π° сС осигури ΡƒΠ΄ΠΎΠ±Π΅Π½ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π΅Π½ ΠΈΠ·Ρ…ΠΎΠ΄.

* Π—Π°Π±Π΅Π»Π΅ΠΆΠΊΠ°: крайният срок Π΅ измСстСн ΠΏΠΎΡ€Π°Π΄ΠΈ увСличСния ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π·Π° внСдряванС Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ асСмблиранС, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° werf с GitHub Actions. ΠŸΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎΡ‚ΠΎ сглобяванС Π΅ слСдващата ΡΡ‚ΡŠΠΏΠΊΠ° Π½Π° оптимизация, осигуряваща Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½Π° мащабируСмост ΠΏΡ€ΠΈ сглобяванСто Π½Π° Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

ΠŸΡ€Π΅Ρ…ΠΎΠ΄ към Helm 3 (↓)

  • ВСрсия: v1.2
  • Π”Π°Ρ‚ΠΈ: Ρ„Π΅Π²Ρ€ΡƒΠ°Ρ€ΠΈ-ΠΌΠ°Ρ€Ρ‚ ΠΌΠ°ΠΉ*

Π’ΠΊΠ»ΡŽΡ‡Π²Π° миграция към Π½ΠΎΠ²Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π° Π¨Π»Π΅ΠΌ 3 ΠΈ Π΄ΠΎΠΊΠ°Π·Π°Π½, ΡƒΠ΄ΠΎΠ±Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ инсталации.

* Π—Π°Π±Π΅Π»Π΅ΠΆΠΊΠ°: ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅Ρ‚ΠΎ към Helm 3 няма Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ към werf, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ всички ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈ характСристики Π½Π° Helm 3 (3-посочно сливанС ΠΈ Π±Π΅Π· ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅) Π²Π΅Ρ‡Π΅ са Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈ Π² werf. ОсвСн Ρ‚ΠΎΠ²Π° werf ΠΈΠΌΠ° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² допълнСниС към посочСнитС. Π’ΠΎΠ·ΠΈ ΠΏΡ€Π΅Ρ…ΠΎΠ΄ ΠΎΠ±Π°Ρ‡Π΅ остава Π² Π½Π°ΡˆΠΈΡ‚Π΅ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ ΠΈ Ρ‰Π΅ бъдС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²Π΅Π½.

Jsonnet Π·Π° описаниС Π½Π° конфигурацията Π½Π° Kubernetes (↓)

  • ВСрсия: v1.2
  • Π”Π°Ρ‚ΠΈ: януари-Ρ„Π΅Π²Ρ€ΡƒΠ°Ρ€ΠΈ Π°ΠΏΡ€ΠΈΠ»-ΠΌΠ°ΠΉ

Werf Ρ‰Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° описания Π½Π° конфигурацията Π·Π° Kubernetes във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Jsonnet. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ werf Ρ‰Π΅ останС ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с Helm ΠΈ Ρ‰Π΅ ΠΈΠΌΠ° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° описаниС.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π΅, Ρ‡Π΅ ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΡ‚Π΅ Π½Π° Go, спорСд ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΡ€Π°, ΠΈΠΌΠ°Ρ‚ висока Π²Ρ…ΠΎΠ΄Π½Π° Π±Π°Ρ€ΠΈΠ΅Ρ€Π° ΠΈ разбираСмостта Π½Π° ΠΊΠΎΠ΄Π° Π½Π° Ρ‚Π΅Π·ΠΈ шаблони ΡΡŠΡ‰ΠΎ страда.

Обмисля сС ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° въвСТданС Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ систСми Π·Π° описаниС Π½Π° конфигурацията Π½Π° Kubernetes (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Kustomize).

Π Π°Π±ΠΎΡ‚Π° Π² Kubernetes (↓)

  • ВСрсия: v1.2
  • Π”Π°Ρ‚ΠΈ: Π°ΠΏΡ€ΠΈΠ»-ΠΌΠ°ΠΉ ΠΌΠ°ΠΉ-юни

Π¦Π΅Π»: Π£Π²Π΅Ρ€Π΅Ρ‚Π΅ сС, Ρ‡Π΅ изобраТСнията са създадСни ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ сС доставя с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° runners Π² Kubernetes. Π’Π΅Π·ΠΈ. Нови изобраТСния ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Ρ‚, ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ‚, почистват ΠΈ внСдряват Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ Kubernetes pods.

Π—Π° Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ Ρ‚Π°Π·ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚, ΠΏΡŠΡ€Π²ΠΎ трябва Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ изобраТСния (Π²ΠΈΠΆ Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° ΠΏΠΎ-Π³ΠΎΡ€Π΅).

Π’ΠΎΠΉ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° изисква ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° строитСля Π±Π΅Π· Docker ΡΡŠΡ€Π²ΡŠΡ€ (Ρ‚.Π΅. компилация, ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° Kaniko ΠΈΠ»ΠΈ компилация Π² потрСбитСлско пространство).

Werf Ρ‰Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Kubernetes Π½Π΅ само с Dockerfile, Π½ΠΎ ΠΈ със своя Stapel builder с постСпСнни рСконструкции ΠΈ Ansible.

Π‘Ρ‚ΡŠΠΏΠΊΠ° към ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅

ΠžΠ±ΠΈΡ‡Π°ΠΌΠ΅ Π½Π°ΡˆΠ°Ρ‚Π° общност (GitHub, Telegram) ΠΈ искамС всС ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ…ΠΎΡ€Π° Π΄Π° ΠΏΠΎΠΌΠ°Π³Π°Ρ‚ Π·Π° подобряванСто Π½Π° werf, Π΄Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ посоката, Π² която сС Π΄Π²ΠΈΠΆΠΈΠΌ, ΠΈ Π΄Π° участват Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π°.

БъвсСм наскоро бСшС Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π° сС ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ към ΠŸΠ»Π°Ρ‚ΠΊΠΈ Π·Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ GitHub Π·Π° Π΄Π° Ρ€Π°Π·ΠΊΡ€ΠΈΠ΅ΠΌ работния процСс Π½Π° нашия Π΅ΠΊΠΈΠΏ. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ нСпосрСдствСнитС ΠΏΠ»Π°Π½ΠΎΠ²Π΅, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π² слСднитС области:

Π‘Π΅ΡˆΠ΅ ΡΠ²ΡŠΡ€ΡˆΠ΅Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅:

  • ΠŸΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΈ са нСумСстнитС.
  • Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ сС ΠΏΡ€ΠΈΠ²Π΅ΠΆΠ΄Π°Ρ‚ Π² Π΅Π΄ΠΈΠ½Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, с Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½ Π±Ρ€ΠΎΠΉ Π΄Π΅Ρ‚Π°ΠΉΠ»ΠΈ ΠΈ подробности.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с ΠΈΠ΄Π΅ΠΈ ΠΈ прСдлоТСния.

Как Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°ΠΌ вСрсия v1.1

Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° вСрсията Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π² ΠΊΠ°Π½Π°Π» 1.1 Π±Ρ€ (Π² ΠΊΠ°Π½Π°Π»ΠΈΡ‚Π΅ стабилСн ΠΈ Π·Π΄Ρ€Π°Π² ΠΊΠ°Ρ‚ΠΎ скала изданията ΠΎΠ±Π°Ρ‡Π΅ Ρ‰Π΅ сС появят ΠΏΡ€ΠΈ Π½Π°ΡΡ‚ΡŠΠΏΠ²Π°Π½Π΅ Π½Π° стабилизация ea сам ΠΏΠΎ сСбС си Π²Π΅Ρ‡Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ стабилСн Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°, Ρ‚.ΠΊ ΠΏΡ€Π΅ΠΌΠΈΠ½Π° ΠΏΡ€Π΅Π· ΠΊΠ°Π½Π°Π»ΠΈΡ‚Π΅ Π°Π»Ρ„Π° ΠΈ Π±Π΅Ρ‚Π°). Активиран Ρ‡Ρ€Π΅Π· multiwerf ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:

source $(multiwerf use 1.1 ea)
werf COMMAND ...

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Новата Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° сцСната ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Π·Π° Stapel ΠΈ Dockerfile builder отварят Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° внСдряванС Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ Π² werf. Π’Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ скоро Ρ‰Π΅ сС появят Π² ΡΡŠΡ‰Π°Ρ‚Π° вСрсия v1.1 ΠΈ Ρ‰Π΅ станат Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Ρ‡Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ (Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ multiwerf).

Π’ Ρ‚Π°Π·ΠΈ вСрсия Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° стратСгия Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅, Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ - ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π° Π² стратСгия ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅. ΠžΡΠ½ΠΎΠ²Π½ΠΈΡΡ‚ Π΄Π½Π΅Π²Π½ΠΈΠΊ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ ΡΡŠΡ‰ΠΎ Π΅ ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Π½: werf build, werf publish, werf deploy, werf dismiss, werf cleanup.

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° Π²Π°ΠΆΠ½Π° ΡΡ‚ΡŠΠΏΠΊΠ° Π΅ добавянСто Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ сборки. Π Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π°Ρ…Π° Π² ΠΏΠΎ-висок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΎΡ‚ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ слСд v1.0, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅ добавят ΠΏΠΎΠ²Π΅Ρ‡Π΅ стойност към werf: Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° конструктори ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΊΡ€Π°Ρ‚ΠΊΠΎΡ‚Ρ€Π°ΠΉΠ½ΠΈ конструктори Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ CI/CD систСми, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° GitHub Actions . ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ‚ΠΎΠ²Π° сроковСтС Π·Π° изпълнСниС Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈΡ‚Π΅ ΠΌΠΎΠ½Ρ‚Π°ΠΆΠΈ бяха измСстСни. НиС ΠΎΠ±Π°Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Π²Π΅Ρ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ възмоТно Π½Π°ΠΉ-скоро.

Π‘Π»Π΅Π΄Π΅Ρ‚Π΅ Π½ΠΎΠ²ΠΈΠ½ΠΈΡ‚Π΅! И Π½Π΅ забравяйтС Π΄Π° Π½ΠΈ посСтитС Π½Π° GitHubΠ΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ ΠΈ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ плюс, Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ PR ΠΈΠ»ΠΈ просто Π΄Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚Π΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

PS

ΠŸΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π² нашия Π±Π»ΠΎΠ³:

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€