Π’Π΅Ρ€Ρ„ 1.1 ΠΈΠ·Π΄Π°Π½ΠΈΠ΅: ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ° Π½Π° Π³Ρ€Π°Π΄ΠΈΡ‚Π΅Π»ΠΎΡ‚ дСнСс ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ Π·Π° ΠΈΠ΄Π½ΠΈΠ½Π°Ρ‚Π°

Π’Π΅Ρ€Ρ„ 1.1 ΠΈΠ·Π΄Π°Π½ΠΈΠ΅: ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ° Π½Π° Π³Ρ€Π°Π΄ΠΈΡ‚Π΅Π»ΠΎΡ‚ дСнСс ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ Π·Π° ΠΈΠ΄Π½ΠΈΠ½Π°Ρ‚Π°

Π²Π΅Ρ€Ρ„ Π΅ Π½Π°ΡˆΠ°Ρ‚Π° Π°Π»Π°Ρ‚ΠΊΠ° со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ GitOps CLI Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ ΠΈ Π΄ΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄ΠΎ Kubernetes. Како ΡˆΡ‚ΠΎ Π΅ Π²Π΅Ρ‚Π΅Π½ΠΎ, ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° v1.0 Π³ΠΎ ΠΎΠ·Π½Π°Ρ‡ΠΈ ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚ Π½Π° додавањС Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° werf ΠΈ Ρ€Π΅Π²ΠΈΠ΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΡ‚Π΅ пристапи. Π‘Π΅Π³Π° со задоволство Π³ΠΎ прСтставувамС ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ v1.1, ΡˆΡ‚ΠΎ Π΅ Π³ΠΎΠ»Π΅ΠΌ Ρ‡Π΅ΠΊΠΎΡ€ Π²ΠΎ Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ ΠΈ основа Π·Π° ΠΈΠ΄Π½ΠΈΠ½Π°Ρ‚Π° ΠΊΠΎΠ»Π΅ΠΊΡ†ΠΈΠΎΠ½Π΅Ρ€ Π²Π΅Ρ€Ρ„. Π’Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ Π΅ достапна Π²ΠΎ ΠΊΠ°Π½Π°Π» 1.1 ea.

ΠžΡΠ½ΠΎΠ²Π°Ρ‚Π° Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ Π½ΠΎΠ²Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° сцСната ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π΄Π²Π°Ρ‚Π° ΠΊΠΎΠ»Π΅ΠΊΡ‚ΠΎΡ€ΠΈ (Π·Π° Stapel ΠΈ Dockerfile). Новата Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ја ΠΎΡ‚Π²ΠΎΡ€Π° моТноста Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° дистрибуирани склопови ΠΎΠ΄ повСќС хостови ΠΈ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ склопови Π½Π° истиот домаќин.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅ ΠΎΠ΄ Π½Π΅ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈΡ‚Π΅ прСсмСтки Π²ΠΎ Ρ„Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΡ€Π΅ΡΠΌΠ΅Ρ‚ΡƒΠ²Π°ΡšΠ΅ потписи Π½Π° Ρ„Π°Π·Π° ΠΈ ΠΌΠ΅Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈΡ‚Π΅ Π·Π° ΠΏΡ€Π΅ΡΠΌΠ΅Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ суми Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π½Π° поСфикасни. Оваа ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π° Π³ΠΎ Π½Π°ΠΌΠ°Π»ΡƒΠ²Π° просСчното Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ со помош Π½Π° werf. И Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ builds, ΠΊΠΎΠ³Π° ситС Ρ„Π°Π·ΠΈ ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ Π²ΠΎ ΠΊΠ΅ΡˆΠΎΡ‚ Ρ„Π°Π·ΠΈ-ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅, сСга сС навистина Π±Ρ€Π·ΠΈ. Π’ΠΎ ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ случаи, Ρ€Π΅ΡΡ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π° ќС ΠΏΠΎΡ‚Ρ€Π°Π΅ ΠΏΠΎΠΌΠ°Π»ΠΊΡƒ ΠΎΠ΄ 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 commits:

  1. Π’Π΅Ρ€Ρ„ Π³ΠΎ прСсмСтува потписот Π½Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½Π° Ρ„Π°Π·Π°.
  2. Π’ Ρ„Π°Π·ΠΈ-ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ МоТС Π΄Π° ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Ρ„Π°Π·ΠΈ Π·Π° Π΄Π°Π΄Π΅Π½ потпис. Π’Π΅Ρ€Ρ„ Π³ΠΈ ΠΈΠ·Π±ΠΈΡ€Π° ситС Ρ„Π°Π·ΠΈ ΡˆΡ‚ΠΎ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Π°Ρ‚ Π½Π° потписот.
  3. Ако Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° Ρ„Π°Π·Π° Π΅ ΠΏΠΎΠ²Ρ€Π·Π°Π½Π° со Git (git-Π°Ρ€Ρ…ΠΈΠ²Π°, приспособСна Ρ„Π°Π·Π° со Git Π·Π°ΠΊΡ€ΠΏΠΈ: install, beforeSetup, setup; ΠΈΠ»ΠΈ git-latest-patch), Ρ‚ΠΎΠ³Π°Ρˆ werf Π³ΠΈ ΠΈΠ·Π±ΠΈΡ€Π° само ΠΎΠ½ΠΈΠ΅ Ρ„Π°Π·ΠΈ ΠΊΠΎΠΈ сС ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со commit ΡˆΡ‚ΠΎ Π΅ ΠΏΡ€Π΅Π΄ΠΎΠΊ Π½Π° Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ‚ commit (Π·Π° кој сС Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π°).
  4. Од прСостанатитС ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΈ Ρ„Π°Π·ΠΈ, сС ΠΈΠ·Π±ΠΈΡ€Π° Π΅Π΄Π½Π° - Π½Π°Ρ˜ΡΡ‚Π°Ρ€Π°Ρ‚Π° ΠΏΠΎ Π΄Π°Ρ‚ΡƒΠΌΠΎΡ‚ Π½Π° создавањС.

Π‘Ρ†Π΅Π½Π°Ρ‚Π° Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π³Ρ€Π°Π½ΠΊΠΈ Π½Π° Git ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ист потпис. Но, 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.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½ΠΎ, ΠΈΠ·Π»Π΅Π·ΠΎΡ‚ Π³ΠΈ содрТи ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ:

Π’Π΅Ρ€Ρ„ 1.1 ΠΈΠ·Π΄Π°Π½ΠΈΠ΅: ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ° Π½Π° Π³Ρ€Π°Π΄ΠΈΡ‚Π΅Π»ΠΎΡ‚ дСнСс ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ Π·Π° ΠΈΠ΄Π½ΠΈΠ½Π°Ρ‚Π°

Кога користитС ΠΎΠΏΡˆΠΈΡ€Π΅Π½ ΠΈΠ·Π»Π΅Π· (--log-verbose) ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²Π΅Ρ€Ρ„:

Π’Π΅Ρ€Ρ„ 1.1 ΠΈΠ·Π΄Π°Π½ΠΈΠ΅: ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ° Π½Π° Π³Ρ€Π°Π΄ΠΈΡ‚Π΅Π»ΠΎΡ‚ дСнСс ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ Π·Π° ΠΈΠ΄Π½ΠΈΠ½Π°Ρ‚Π°

Π”Π΅Ρ‚Π°Π»Π΅Π½ ΠΈΠ·Π»Π΅Π· (--log-debug), ΠΏΠΎΠΊΡ€Π°Ρ˜ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° Π΄Π΅Π±Π°Π³ΠΈΡ€Π°ΡšΠ΅ Π½Π° werf, содрТи ΠΈ Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ Π½Π° користСни Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎ сС Ρ˜Π°Π²ΡƒΠ²Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° со Docker Registry, Π° исто Ρ‚Π°ΠΊΠ° Π΄Π° Π³ΠΈ снимитС мСстата ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ сС Ρ‚Ρ€ΠΎΡˆΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅:

Π’Π΅Ρ€Ρ„ 1.1 ΠΈΠ·Π΄Π°Π½ΠΈΠ΅: ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ° Π½Π° Π³Ρ€Π°Π΄ΠΈΡ‚Π΅Π»ΠΎΡ‚ дСнСс ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ Π·Π° ΠΈΠ΄Π½ΠΈΠ½Π°Ρ‚Π°

Идни планови

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅! ΠžΠΏΡ†ΠΈΠΈΡ‚Π΅ опишани ΠΏΠΎΠ΄ΠΎΠ»Ρƒ сС ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈ v1.1 ќС станат достапни Π²ΠΎ ΠΎΠ²Π°Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°, ΠΌΠ½ΠΎΠ³Ρƒ ΠΎΠ΄ Π½ΠΈΠ² Π²ΠΎ блиска ΠΈΠ΄Π½ΠΈΠ½Π°. ΠΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ°Ρ‚Π° ќС Π΄ΠΎΠ°Ρ“Π°Π°Ρ‚ ΠΏΡ€Π΅ΠΊΡƒ автоматско Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ ΠΊΠΎΠ³Π° користитС ΠΌΡƒΠ»Ρ‚ΠΈΠ²Π΅Ρ€Ρ„. ОвиС карактСристики Π½Π΅ Π²Π»ΠΈΡ˜Π°Π°Ρ‚ Π½Π° стабилниот Π΄Π΅Π» ΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ v1.1; Π½ΠΈΠ²Π½ΠΈΠΎΡ‚ ΠΈΠ·Π³Π»Π΅Π΄ Π½Π΅ΠΌΠ° Π΄Π° Π±Π°Ρ€Π° Ρ€Π°Ρ‡Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π΅Π½Ρ†ΠΈΡ˜Π° Π½Π° корисникот Π²ΠΎ постоСчкитС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ЦСлосна ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π° Docker Registry (ΠΠžΠ’)

Π¦Π΅Π»Ρ‚Π° Π΅ корисникот Π΄Π° користи ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π±Π΅Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ° ΠΏΡ€ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° werf.

Π’ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°Π²ΠΌΠ΅ слСдниот сСт Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π° Π·Π° ΠΊΠΎΠΈ ќС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅ цСлосна ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°:

  • Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½ΠΎ (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°/рСгистар)*,
  • AWS ECR
  • Азур*,
  • Docker Hub
  • Π“Π¦Π *,
  • GitHub ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ
  • РСгистар Π½Π° GitLab*,
  • ΠŸΡ€ΠΈΡΡ‚Π°Π½ΠΈΡˆΡ‚Π΅ *,
  • КСј.

Π Π΅ΡˆΠ΅Π½ΠΈΡ˜Π°Ρ‚Π° ΠΊΠΎΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ сС цСлосно ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠ°Π½ΠΈ ΠΎΠ΄ werf сС ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈ со Ρ•Π²Π΅Π·Π΄ΠΈΡ‡ΠΊΠ°. Π—Π° Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΈΠΌΠ° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°, Π½ΠΎ со ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ°.

МоТС Π΄Π° сС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°Π°Ρ‚ Π΄Π²Π° Π³Π»Π°Π²Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ:

  • НСкои Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°Π°Ρ‚ ΠΎΡ‚ΡΡ‚Ρ€Π°Π½ΡƒΠ²Π°ΡšΠ΅ ΠΎΠ·Π½Π°ΠΊΠΈ со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Docker Registry API, ΡΠΏΡ€Π΅Ρ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ корисницитС Π΄Π° користат автоматско Ρ‡ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° werf. Ова Π²Π°ΠΆΠΈ Π·Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ AWS ECR, Docker Hub ΠΈ GitHub.
  • НСкои Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π°Π°Ρ‚ Ρ‚Π°ΠΊΠ°Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈ Π²Π³Π½Π΅Π·Π΄Π΅Π½ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° (Docker Hub, GitHub Packages ΠΈ Quay), Π½ΠΎ корисникот ΠΌΠΎΡ€Π° Π΄Π° Π³ΠΈ ΠΊΡ€Π΅ΠΈΡ€Π° Ρ€Π°Ρ‡Π½ΠΎ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ UI ΠΈΠ»ΠΈ API (AWS ECR).

ЌС Π³ΠΈ Ρ€Π΅ΡˆΠΈΠΌΠ΅ ΠΎΠ²ΠΈΠ΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π½ΠΈ API Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π°Ρ‚Π°. Оваа Π·Π°Π΄Π°Ρ‡Π°, исто Ρ‚Π°ΠΊΠ°, Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΏΠΎΠΊΡ€ΠΈΠ²Π°ΡšΠ΅ Π½Π° цСлосниот циклус Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π° Π½Π° werf со тСстови Π·Π° сСкој ΠΎΠ΄ Π½ΠΈΠ².

Дистрибуирана Π³Ρ€Π°Π΄Π±Π° Π½Π° слики (↑)

  • Π’Π΅Ρ€Π·ΠΈΡ˜Π°: v1.2 v1.1 (ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΡ‚ Π·Π° ΡΠΏΡ€ΠΎΠ²Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΎΠ²Π°Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π΅ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½)
  • Π”Π°Ρ‚ΡƒΠΌΠΈ: ΠΌΠ°Ρ€Ρ‚-Π°ΠΏΡ€ΠΈΠ» ΠΌΠ°Ρ€Ρ‚
  • исходот

Π’ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², werf v1.0 ΠΈ v1.1 ΠΌΠΎΠΆΠ΅ Π΄Π° сС користат само Π½Π° Π΅Π΄Π΅Π½ посвСтСн домаќин Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ ΠΈ ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅ слики ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Kubernetes.

Π—Π° Π΄Π° сС ΠΎΡ‚Π²ΠΎΡ€Π°Ρ‚ моТноститС Π·Π° дистрибуирана Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° werf, ΠΊΠΎΠ³Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π° ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π²ΠΎ Kubernetes сС стартуваат Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ хостови ΠΈ ΠΎΠ²ΠΈΠ΅ хостови Π½Π΅ ја Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°Π°Ρ‚ ΡΠ²ΠΎΡ˜Π°Ρ‚Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Π³Ρ€Π°Π΄Π±ΠΈΡ‚Π΅ (ΠΏΡ€ΠΈΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‚Ρ€ΠΊΠ°Ρ‡ΠΈ), ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π΅ werf Π΄Π° ја ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° моТноста Π·Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Docker Registry ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΎΠ΄Π°Π²Π½ΠΈΡ†Π° Π·Π° сцСна.

ΠŸΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ, ΠΊΠΎΠ³Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ werf сè ΡƒΡˆΡ‚Π΅ сС Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π°ΡˆΠ΅ dapp, имашС Ρ‚Π°ΠΊΠ²Π° моТност. Π‘Π΅ΠΏΠ°ΠΊ, Π½Π°ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠΎΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΏΡ€ΠΈ ΡΠΏΡ€ΠΎΠ²Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΎΠ²Π°Π° функционалност Π²ΠΎ werf.

Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ Π½Π° ΡƒΠΌ. Оваа Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π½Π΅ Π±Π°Ρ€Π° ΠΊΠΎΠ»Π΅ΠΊΡ‚ΠΎΡ€ΠΎΡ‚ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ кубСрнСтскитС ΠΏΠΎΠ΄Π»ΠΎΠ³ΠΈ, бидСјќи Π—Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΎΠ²Π°, Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ослободитС ΠΎΠ΄ зависноста ΠΎΠ΄ Π»ΠΎΠΊΠ°Π»Π½ΠΈΠΎΡ‚ сСрвСр Docker (Π²ΠΎ ΠΏΠΎΠ΄Π»ΠΎΠ³Π°Ρ‚Π° Kubernetes Π½Π΅ΠΌΠ° пристап Π΄ΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΈΠΎΡ‚ сСрвСр Docker, бидСјќи самиот процСс Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€, Π° werf Π½Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° ΠΈ Π½Π΅ΠΌΠ° Π΄Π° ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° Ρ€Π°Π±ΠΎΡ‚Π° со сСрвСрот Docker ΠΏΡ€Π΅ΠΊΡƒ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°). ΠŸΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ°Ρ‚Π° Π·Π° водСњС Π½Π° Kubernetes ќС сС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° посСбно.

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

Π’ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° Π²Π΅Ρ€Ρ„ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° (Π΄Π΅Π»ΠΎΠ²ΠΈ ΡƒΠΏΠ°Ρ‚ΡƒΠ²Π°ΡšΠ΅ ΠΈ Π²ΠΎΠ΄ΠΈΡ‡), ΠΊΠ°ΠΊΠΎ ΠΈ ΠΎΡ„ΠΈΡ†ΠΈΡ˜Π°Π»Π½Π°Ρ‚Π° GitHub Action Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° со werf.

ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, ќС ΠΌΡƒ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π½Π° werf Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° Π΅Ρ„Π΅ΠΌΠ΅Ρ€Π½ΠΈ Ρ‚Ρ€ΠΊΠ°Ρ‡ΠΈ.

ΠœΠ΅Ρ…Π°Π½ΠΈΠΊΠ°Ρ‚Π° Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° корисникот со систСмот CI ќС сС заснова Π½Π° ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ Π½Π° Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° Π·Π° ΠΏΠΎΠ²Π»Π΅ΠΊΡƒΠ²Π°ΡšΠ΅ Π·Π° Π΄Π° сС ΠΈΠ½ΠΈΡ†ΠΈΡ€Π°Π°Ρ‚ ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΈ активности Π·Π° Π΄Π° сС ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ/располоТи Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π°.

Π›ΠΎΠΊΠ°Π»Π΅Π½ Ρ€Π°Π·Π²ΠΎΡ˜ ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ со werf (↓)

  • Π’Π΅Ρ€Π·ΠΈΡ˜Π°: v1.1
  • Π’Π΅Ρ€ΠΌΠΈΠ½ΠΈ: Ρ˜Π°Π½ΡƒΠ°Ρ€ΠΈ-Ρ„Π΅Π²Ρ€ΡƒΠ°Ρ€ΠΈ Π°ΠΏΡ€ΠΈΠ»
  • исходот

Π“Π»Π°Π²Π½Π°Ρ‚Π° Ρ†Π΅Π» Π΅ Π΄Π° сС постигнС СдинствСна ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π·Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΈ Π²ΠΎ производство, Π±Π΅Π· слоТСни Π΄Π΅Ρ˜ΡΡ‚Π²Π°, Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ ΠΊΡƒΡ‚ΠΈΡ˜Π°Ρ‚Π°.

Од werf исто Ρ‚Π°ΠΊΠ° сС Π±Π°Ρ€Π° Π΄Π° ΠΈΠΌΠ° Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π²ΠΎ кој ќС Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ Π΄Π° сС ΡƒΡ€Π΅Π΄ΡƒΠ²Π° ΠΊΠΎΠ΄ΠΎΡ‚ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΈ вСднаш Π΄Π° сС Π΄ΠΎΠ±ΠΈΠ²Π°Π°Ρ‚ ΠΏΠΎΠ²Ρ€Π°Ρ‚Π½ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ΄ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° која Ρ€Π°Π±ΠΎΡ‚ΠΈ Π·Π° Π΄Π΅Π±Π°Π³ΠΈΡ€Π°ΡšΠ΅.

Нов Π°Π»Π³ΠΎΡ€ΠΈΡ‚Π°ΠΌ Π·Π° Ρ‡ΠΈΡΡ‚Π΅ΡšΠ΅ (ΠΠžΠ’)

Π’ΠΎ Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° werf v1.1 Π²ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ‚Π° cleanup НС постои ΠΎΠ΄Ρ€Π΅Π΄Π±Π° Π·Π° Ρ‡ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° слики Π·Π° ΡˆΠ΅ΠΌΠ°Ρ‚Π° Π·Π° ΠΎΠ·Π½Π°Ρ‡ΡƒΠ²Π°ΡšΠ΅ Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° содрТина - ΠΎΠ²ΠΈΠ΅ слики ќС сС Π°ΠΊΡƒΠΌΡƒΠ»ΠΈΡ€Π°Π°Ρ‚.

Π˜ΡΡ‚ΠΎ Ρ‚Π°ΠΊΠ°, Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° werf (v1.0 ΠΈ v1.1) користи Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ Π·Π° Ρ‡ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° слики објавСни Π²ΠΎ шСми Π·Π° ΠΎΠ·Π½Π°Ρ‡ΡƒΠ²Π°ΡšΠ΅: Git branch, Git tag ΠΈΠ»ΠΈ Git commit.

ИзмислСн Π΅ Π½ΠΎΠ² Π°Π»Π³ΠΎΡ€ΠΈΡ‚Π°ΠΌ Π·Π° Ρ‡ΠΈΡΡ‚Π΅ΡšΠ΅ слики заснован Π½Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° Π½Π° обврскитС Π²ΠΎ Git, ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ Π·Π° ситС шСми Π·Π° ΠΎΠ·Π½Π°Ρ‡ΡƒΠ²Π°ΡšΠ΅:

  • Π§ΡƒΠ²Π°Ρ˜Ρ‚Π΅ Π½Π΅ повСќС ΠΎΠ΄ N1 слики ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со N2 Π½Π°Ρ˜Π½ΠΎΠ²ΠΈΡ‚Π΅ обврски Π·Π° сСкој git HEAD (Π³Ρ€Π°Π½ΠΊΠΈ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΈ).
  • Π§ΡƒΠ²Π°Ρ˜Ρ‚Π΅ Π½Π΅ повСќС ΠΎΠ΄ слики ΠΎΠ΄ Ρ„Π°Π·Π° N1 ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со Π½Π°Ρ˜Π½ΠΎΠ²ΠΈΡ‚Π΅ обврски N2 Π·Π° сСкој git HEAD (Π³Ρ€Π°Π½ΠΊΠΈ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΈ).
  • Π‘ΠΊΠ»Π°Π΄ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΈ ситС слики ΡˆΡ‚ΠΎ сС користат Π²ΠΎ ΠΊΠΎΠΈ Π±ΠΈΠ»ΠΎ рСсурси Π½Π° кластСрот ΠšΡƒΠ±Π΅Ρ€Π½Π΅Ρ‚ (ситС ΠΊΡƒΠ±Π΅ контСксти Π½Π° конфигурациската Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΈ просторитС Π·Π° имиња сС скСнирани; ΠΎΠ²Π° ΠΎΠ΄Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ со ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ).
  • Π‘ΠΊΠ»Π°Π΄ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΈ ситС слики ΡˆΡ‚ΠΎ сС користат Π²ΠΎ манифСстациитС Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° рСсурси Π·Π°Ρ‡ΡƒΠ²Π°Π½ΠΈ Π²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΡ˜Π°Ρ‚Π° Π½Π° Helm.
  • Π‘Π»ΠΈΠΊΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·Π±Ρ€ΠΈΡˆΠ΅ Π°ΠΊΠΎ Π½Π΅ Π΅ ΠΏΠΎΠ²Ρ€Π·Π°Π½Π° со Π½ΠΈΡ‚Ρƒ Π΅Π΄Π½Π° HEAD ΠΎΠ΄ git (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ самата соодвСтна HEAD Π΅ ΠΈΠ·Π±Ρ€ΠΈΡˆΠ°Π½Π°) ΠΈ Π½Π΅ сС користи Π²ΠΎ Π½ΠΈΠ΅Π΄Π΅Π½ манифСст Π²ΠΎ кластСрот Kubernetes ΠΈ Π²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΡ˜Π°Ρ‚Π° Π½Π° Helm.

ΠŸΠ°Ρ€Π°Π»Π΅Π»Π½Π° Π³Ρ€Π°Π΄Π±Π° Π½Π° слики (↓)

  • Π’Π΅Ρ€Π·ΠΈΡ˜Π°: v1.1
  • Π’Π΅Ρ€ΠΌΠΈΠ½ΠΈ: Ρ˜Π°Π½ΡƒΠ°Ρ€ΠΈ-Ρ„Π΅Π²Ρ€ΡƒΠ°Ρ€ΠΈ Π°ΠΏΡ€ΠΈΠ»*

Π’Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° Π½Π° werf Π³ΠΈ собира сликитС ΠΈ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΈΡ‚Π΅ опишани Π²ΠΎ werf.yaml, послСдоватСлно. НСопходно Π΅ Π΄Π° сС ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π° процСсот Π½Π° ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ нСзависни Ρ„Π°Π·ΠΈ Π½Π° слики ΠΈ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΡƒΠ΄ΠΎΠ±Π΅Π½ ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π΅Π½ ΠΈΠ·Π»Π΅Π·.

* Π—Π°Π±Π΅Π»Π΅ΡˆΠΊΠ°: Ρ€ΠΎΠΊΠΎΡ‚ Π΅ помСстСн ΠΏΠΎΡ€Π°Π΄ΠΈ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° дистрибуирано ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅, ΡˆΡ‚ΠΎ ќС Π΄ΠΎΠ΄Π°Π΄Π΅ повСќС Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΈ способности Π·Π° ΡΠΊΠ°Π»ΠΈΡ€Π°ΡšΠ΅, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° werf со GitHub Actions. ΠŸΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎΡ‚ΠΎ ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ Π΅ слСдниот Ρ‡Π΅ΠΊΠΎΡ€ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ˜Π°, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°Ρ˜ΡœΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½Π° приспособливост ΠΏΡ€ΠΈ ΡΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π΅Π΄Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Π’Ρ€Π°Π½Π·ΠΈΡ†ΠΈΡ˜Π° ΠΊΠΎΠ½ Π₯Π΅Π»ΠΌ 3 (↓)

  • Π’Π΅Ρ€Π·ΠΈΡ˜Π°: v1.2
  • Π’Π΅Ρ€ΠΌΠΈΠ½ΠΈ: Ρ„Π΅Π²Ρ€ΡƒΠ°Ρ€ΠΈ-ΠΌΠ°Ρ€Ρ‚ мај*

Π’ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡ˜Π° Π²ΠΎ Π½ΠΎΠ²Π° Π±Π°Π·Π° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΠšΠΎΡ€ΠΌΠΈΠ»Π° 3 ΠΈ Π΄ΠΎΠΊΠ°ΠΆΠ°Π½, ΡƒΠ΄ΠΎΠ±Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΌΠΈΠ³Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° постоСчкитС инсталации.

* Π—Π°Π±Π΅Π»Π΅ΡˆΠΊΠ°: ΠΏΡ€Π΅Ρ„Ρ€Π»Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Helm 3 Π½Π΅ΠΌΠ° Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΈ карактСристики Π½Π° werf, бидСјќи ситС ΠΊΠ»ΡƒΡ‡Π½ΠΈ карактСристики Π½Π° Helm 3 (3-насочно ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ ΠΈ Π±Π΅Π· ΠΌΠΎΠ»ΠΊ) сС вСќС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΈ Π²ΠΎ werf. ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, Π²Π΅Ρ€Ρ„ ΠΈΠΌΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ карактСристики ΠΏΠΎΠΊΡ€Π°Ρ˜ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡ‚Π΅. Π‘Π΅ΠΏΠ°ΠΊ, ΠΎΠ²Π°Π° Ρ‚Ρ€Π°Π½Π·ΠΈΡ†ΠΈΡ˜Π° останува Π²ΠΎ Π½Π°ΡˆΠΈΡ‚Π΅ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ ΠΈ ќС сС спровСдС.

Jsonnet Π·Π° ΠΎΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Kubernetes (↓)

  • Π’Π΅Ρ€Π·ΠΈΡ˜Π°: v1.2
  • Π’Π΅Ρ€ΠΌΠΈΠ½ΠΈ: Ρ˜Π°Π½ΡƒΠ°Ρ€ΠΈ-Ρ„Π΅Π²Ρ€ΡƒΠ°Ρ€ΠΈ Π°ΠΏΡ€ΠΈΠ»-мај

Werf ќС ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° описи Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π·Π° Kubernetes Π²ΠΎ Jsonnet Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Π’ΠΎ исто Π²Ρ€Π΅ΠΌΠ΅, werf ќС останС ΠΊΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π΅Π½ со Helm ΠΈ ќС ΠΈΠΌΠ° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° опис.

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

Π‘Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄ΡƒΠ²Π° ΠΈ моТноста Π·Π° Π²ΠΎΠ²Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ систСми Π·Π° опис Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Kubernetes (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Kustomize).

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

  • Π’Π΅Ρ€Π·ΠΈΡ˜Π°: v1.2
  • Π’Π΅Ρ€ΠΌΠΈΠ½ΠΈ: Π°ΠΏΡ€ΠΈΠ»-мај мај-Ρ˜ΡƒΠ½ΠΈ

Π¦Π΅Π»: ΠžΡΠΈΠ³ΡƒΡ€Π΅Ρ‚Π΅ сС Π΄Π΅ΠΊΠ° сликитС сС ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΅ испорачана со помош Π½Π° Ρ‚Ρ€ΠΊΠ°Ρ‡ΠΈ Π²ΠΎ Kubernetes. ОниС. НовитС слики ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π³Ρ€Π°Π΄Π°Ρ‚, ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°Π°Ρ‚, чистат ΠΈ распорСдуваат Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ΄ ΠΏΠΎΠ΄Π»ΠΎΠ³ΠΈΡ‚Π΅ Π½Π° Kubernetes.

Π—Π° Π΄Π° ја ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Ρ‚Π΅ ΠΎΠ²Π°Π° способност, ΠΏΡ€Π²ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅Ρ‚Π΅ Π²ΠΎ моТност Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ дистрибуирани слики (Π²ΠΈΠ΄ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ° ΠΏΠΎΠ³ΠΎΡ€Π΅).

Π˜ΡΡ‚ΠΎ Ρ‚Π°ΠΊΠ°, Π±Π°Ρ€Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Ρ€Π΅ΠΆΠΈΠΌΠΎΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° Π³Ρ€Π°Π΄ΠΈΡ‚Π΅Π»ΠΎΡ‚ Π±Π΅Π· сСрвСр Docker (Ρ‚.Π΅. ΠΈΠ·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ»ΠΈ Π³Ρ€Π°Π΄Π±Π° Π²ΠΎ корисничкиот простор сличСн Π½Π° Kaniko).

Werf ќС Π³ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΠΈ Π³Ρ€Π°Π΄Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° Kubernetes Π½Π΅ само со Dockerfile, Ρ‚ΡƒΠΊΡƒ ΠΈ со Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ Stapel builder со постСпСно ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°ΡšΠ΅ ΠΈ Ansible.

Π§Π΅ΠΊΠΎΡ€ ΠΊΠΎΠ½ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ Ρ€Π°Π·Π²ΠΎΡ˜

Ја сакамС Π½Π°ΡˆΠ°Ρ‚Π° Π·Π°Π΅Π΄Π½ΠΈΡ†Π° (GitHub, Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠ°) ΠΈ сакамС сС повСќС ΠΈ повСќС Π»ΡƒΡ“Π΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Π΄Π° сС ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ Π²Π΅Ρ€Ρ„ΠΎΡ‚, Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ ΠΏΡ€Π°Π²Π΅Ρ†ΠΎΡ‚ Π²ΠΎ кој сС Π΄Π²ΠΈΠΆΠΈΠΌΠ΅ ΠΈ Π΄Π° учСствуваат Π²ΠΎ Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚.

НСодамна бСшС ΠΎΠ΄Π»ΡƒΡ‡Π΅Π½ΠΎ Π΄Π° сС ΠΏΡ€Π΅Ρ„Ρ€Π»ΠΈ Π½Π° ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΈ Ρ‚Π°Π±Π»ΠΈ Π½Π° GitHub со Ρ†Π΅Π» Π΄Π° Π³ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΎΡ‚ процСс Π½Π° Π½Π°ΡˆΠΈΠΎΡ‚ Ρ‚ΠΈΠΌ. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ Π²ΠΈΠ΄ΠΈΡ‚Π΅ нСпосрСднитС ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π²ΠΎ слСднитС области:

НаправСно Π΅ ΠΌΠ½ΠΎΠ³Ρƒ Ρ€Π°Π±ΠΎΡ‚Π° со ΠΏΡ€Π°ΡˆΠ°ΡšΠ°:

  • ΠžΡ‚ΡΡ‚Ρ€Π°Π½Π΅Ρ‚ΠΈ Π½Π΅Π±ΠΈΡ‚Π½ΠΈ.
  • ΠŸΠΎΡΡ‚ΠΎΡ˜Π½ΠΈΡ‚Π΅ сС Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΈ Π²ΠΎ СдинствСн Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, со Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ Π±Ρ€ΠΎΡ˜ Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΈ Π΄Π΅Ρ‚Π°Π»ΠΈ.
  • Π”ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ сС Π½ΠΎΠ²ΠΈ ΠΏΡ€Π°ΡˆΠ°ΡšΠ° со ΠΈΠ΄Π΅ΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠ·ΠΈ.

Како Π΄Π° ја ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΡ‚Π΅ Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° v1.1

Π’Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎ Π΅ достапна Π²ΠΎ ΠΊΠ°Π½Π°Π» 1.1 ea (Π²ΠΎ ΠΊΠ°Π½Π°Π»ΠΈ стабилна ΠΈ ΠΊΠ°ΠΌΠ΅Π½-цврст Изданија ќС сС ΠΏΠΎΡ˜Π°Π²Π°Ρ‚ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ ќС сС случи ΡΡ‚Π°Π±ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° ea самиот Π΅ вСќС Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ стабилСн Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°, бидСјќи ΠΏΠΎΠΌΠΈΠ½Π° Π½ΠΈΠ· ΠΊΠ°Π½Π°Π»ΠΈΡ‚Π΅ Π°Π»Ρ„Π° ΠΈ Π±Π΅Ρ‚Π°). Активиран ΠΏΡ€Π΅ΠΊΡƒ ΠΌΡƒΠ»Ρ‚ΠΈΠ²Π΅Ρ€Ρ„ Π½Π° слСдниот Π½Π°Ρ‡ΠΈΠ½:

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

Π—Π°ΠΊΠ»ΡƒΡ‡ΠΎΠΊ

Новата Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° сцСната ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Π³Ρ€Π°Π΄ΠΈΡ‚Π΅Π»ΠΈ Π·Π° Π³Ρ€Π°Π΄ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Stapel ΠΈ Dockerfile ја ΠΎΡ‚Π²ΠΎΡ€Π°Π°Ρ‚ моТноста Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° дистрибуирани ΠΈ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ Π³Ρ€Π°Π΄Π±ΠΈ Π²ΠΎ werf. ОвиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ наскоро ќС сС ΠΏΠΎΡ˜Π°Π²Π°Ρ‚ Π²ΠΎ истото ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ v1.1 ΠΈ ќС станат автоматски достапни ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΡ‚ Π·Π° автоматско Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ (Π·Π° корисницитС ΠΌΡƒΠ»Ρ‚ΠΈΠ²Π΅Ρ€Ρ„).

Π’ΠΎ ΠΎΠ²Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡ˜Π° Π·Π° ΠΎΠ·Π½Π°Ρ‡ΡƒΠ²Π°ΡšΠ΅ Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° содрТина Π½Π° слики - ΠΎΠ·Π½Π°Ρ‡ΡƒΠ²Π°ΡšΠ΅ Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° содрТина, која стана стандардна ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡ˜Π°. Π“Π»Π°Π²Π½ΠΈΠΎΡ‚ Π΄Π½Π΅Π²Π½ΠΈΠΊ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ исто Ρ‚Π°ΠΊΠ° Π΅ ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Π½: werf build, werf publish, werf deploy, werf dismiss, werf cleanup.

Π‘Π»Π΅Π΄Π½ΠΈΠΎΡ‚ Π·Π½Π°Ρ‡Π°Π΅Π½ Ρ‡Π΅ΠΊΠΎΡ€ Π΅ Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ дистрибуирани склопови. ДистрибуиранитС Π³Ρ€Π°Π΄Π±ΠΈ станаа повисок ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΎΠ΄ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈΡ‚Π΅ Π³Ρ€Π°Π΄Π±ΠΈ ΠΎΠ΄ v1.0 Π·Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π΄ΠΎΠ΄Π°Π²Π°Π°Ρ‚ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° врСдност Π½Π° werf: Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»Π½ΠΎ ΡΠΊΠ°Π»ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π³Ρ€Π°Π΄ΠΈΡ‚Π΅Π»ΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Π΅Ρ„Π΅ΠΌΠ΅Ρ€Π½ΠΈ Π³Ρ€Π°Π΄ΠΈΡ‚Π΅Π»ΠΈ Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ систСми CI/CD, ΠΊΠ°ΠΊΠΎ ΠΈ моТност Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΎΡ„ΠΈΡ†ΠΈΡ˜Π°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° GitHub Actions . Π—Π°Ρ‚ΠΎΠ°, Ρ€ΠΎΠΊΠΎΠ²ΠΈΡ‚Π΅ Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ склопови Π±Π΅Π° помСстСни. Π‘Π΅ΠΏΠ°ΠΊ, Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌΠ΅ Π΄Π° Π³ΠΈ спровСдСмС Π΄Π²Π΅Ρ‚Π΅ моТности ΡˆΡ‚ΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ поскоро.

Π‘Π»Π΅Π΄Π΅Ρ‚Π΅ Π³ΠΈ вСститС! И Π½Π΅ Π·Π°Π±ΠΎΡ€Π°Π²Π°Ρ˜Ρ‚Π΅ Π΄Π° Π½Π΅ посСтитС Π½Π° GitHubΠ΄Π° сС создадС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π΄Π° сС најдС постоСчко ΠΈ Π΄Π° сС Π΄ΠΎΠ΄Π°Π΄Π΅ плус, Π΄Π° сС создадС ПР ΠΈΠ»ΠΈ Сдноставно Π΄Π° сС слСди Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚.

PS

ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ˜Ρ‚Π΅ ΠΈ Π½Π° Π½Π°ΡˆΠΈΠΎΡ‚ Π±Π»ΠΎΠ³:

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€