ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с "ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΎΡ‚ΠΎ" почистванС Π½Π° изобраТСния Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² werf

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с "ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΎΡ‚ΠΎ" почистванС Π½Π° изобраТСния Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² werf

Бтатията обсъТда ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с почистванСто Π½Π° изобраТСния, ΠΊΠΎΠΈΡ‚ΠΎ сС Π½Π°Ρ‚Ρ€ΡƒΠΏΠ²Π°Ρ‚ Π² рСгистритС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ (Docker Registry ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ Π°Π½Π°Π»ΠΎΠ·ΠΈ) Π² рСалноститС Π½Π° ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ CI/CD Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈ Π·Π° ΠΎΠ±Π»Π°Ρ‡Π½ΠΈ прилоТСния, доставСни Π½Π° Kubernetes. Π”Π°Π΄Π΅Π½ΠΈ са основнитС ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π·Π° умСстност Π½Π° изобраТСнията ΠΈ ΠΏΡ€ΠΎΠΈΠ·Ρ‚ΠΈΡ‡Π°Ρ‰ΠΈΡ‚Π΅ ΠΎΡ‚ Ρ‚ΠΎΠ²Π° трудности ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° почистванСто, спСстяванСто Π½Π° място ΠΈ задоволяванСто Π½Π° Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ Π½Π° Π΅ΠΊΠΈΠΏΠΈΡ‚Π΅. Накрая, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, Ρ‰Π΅ Π²ΠΈ ΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ Ρ‚Π΅Π·ΠΈ трудности ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈ.

въвСдСниС

Броят Π½Π° изобраТСнията Π² Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° нараства Π±ΡŠΡ€Π·ΠΎ, Π·Π°Π΅ΠΌΠ°ΠΉΠΊΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ място Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°ΠΉΠΊΠΈ Ρ†Π΅Π½Π°Ρ‚Π° ΠΌΡƒ. Π—Π° Π΄Π° сС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ нарастванС Π½Π° пространството, Π·Π°Π΅Ρ‚ΠΎ Π² Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°, сС ΠΏΡ€ΠΈΠ΅ΠΌΠ°:

  1. ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ фиксиран Π±Ρ€ΠΎΠΉ Ρ‚Π°Π³ΠΎΠ²Π΅ Π·Π° изобраТСния;
  2. почистСтС изобраТСнията ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½.


ΠŸΡŠΡ€Π²ΠΎΡ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ понякога Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ Π·Π° ΠΌΠ°Π»ΠΊΠΈ Π΅ΠΊΠΈΠΏΠΈ. Ако Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ постоянни Ρ‚Π°Π³ΠΎΠ²Π΅ (latest, main, test, boris ΠΈ Ρ‚.Π½.), Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ΡŠΡ‚ няма Π΄Π° набъбнС ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ Π·Π° дълго Π²Ρ€Π΅ΠΌΠ΅ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ няма Π΄Π° сС Π½Π°Π»Π°Π³Π° Π΄Π° мислитС Π·Π° почистванСто ΠΌΡƒ. Π’ края Π½Π° ΠΊΡ€Π°ΠΈΡ‰Π°Ρ‚Π° всички нСподходящи изобраТСния сС ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ ΠΈ просто няма Ρ€Π°Π±ΠΎΡ‚Π° Π·Π° почистванС (всичко сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΎΡ‚ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΡΡŠΠ±ΠΈΡ€Π°Ρ‡ Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊ).

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ ΠΈ рядко Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ Π·Π° ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈ CI/CD ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. НСраздСлна част ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° бСшС автоматизация, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° тСстватС, внСдряватС ΠΈ доставятС Π½ΠΎΠ²Π° функционалност Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ. НапримСр, във всички наши ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, CI Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ сС създава Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ с всСки Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚. Π’ Π½Π΅Π³ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ сС сглобява, тСства, Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π° към Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²Π΅Ρ€ΠΈΠ³ΠΈ Π½Π° Kubernetes Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ оставащи ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ Π°ΠΊΠΎ всичко Π΅ Π½Π°Ρ€Π΅Π΄, ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ достигат Π΄ΠΎ крайния ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π». И Ρ‚ΠΎΠ²Π° Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Ρ€Π°ΠΊΠ΅Ρ‚Π½Π° Π½Π°ΡƒΠΊΠ°, Π° Π΅ΠΆΠ΅Π΄Π½Π΅Π²ΠΈΠ΅ Π·Π° ΠΌΠ½ΠΎΠ·ΠΈΠ½Π° - Π½Π°ΠΉ-вСроятно Π·Π° вас, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ Ρ‚Π°Π·ΠΈ статия.

Въй ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²Π° функционалност сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ ΠΈ изданията ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ няколко ΠΏΡŠΡ‚ΠΈ Π½Π° Π΄Π΅Π½, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π΅, Ρ‡Π΅ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΅ ΠΏΡ€ΠΈΠ΄Ρ€ΡƒΠΆΠ΅Π½ ΠΎΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½ Π±Ρ€ΠΎΠΉ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° голям Π±Ρ€ΠΎΠΉ изобраТСния Π² Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° възниква Π²ΡŠΠΏΡ€ΠΎΡΡŠΡ‚ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ почистванС Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°, Ρ‚.Π΅. ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° нСподходящи изобраТСния.

Но ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ опрСдСлятС Π΄Π°Π»ΠΈ Π΅Π΄Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΅ подходящо?

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π·Π° рСлСвантност Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ

Π’ ΠΏΠΎ-голямата част ΠΎΡ‚ случаитС основнитС ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚:

1. ΠŸΡŠΡ€Π²ΠΈΡΡ‚ (Π½Π°ΠΉ-очСвидният ΠΈ Π½Π°ΠΉ-ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅Π½ ΠΎΡ‚ всички) са изобраТСнията, ΠΊΠΎΠΈΡ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Kubernetes. ΠŸΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Π·ΠΈ изобраТСния ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ производствСни Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ Π·Π° прСстой (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ изобраТСнията ΠΌΠΎΠΆΠ΅ Π΄Π° са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° рСпликация) ΠΈΠ»ΠΈ Π΄Π° ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»ΠΈ усилията Π½Π° Π΅ΠΊΠΈΠΏΠ° Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ ΠΈ Π΄Π° Π΅ ΠΎΡ‚ Ρ†ΠΈΠΊΠ»ΠΈΡ‚Π΅. (По Ρ‚Π°Π·ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π΄ΠΎΡ€ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ спСциалСн ΠŸΡ€ΠΎΠΌΠ΅Ρ‚Π΅ΠΉ износитСли, ΠΊΠΎΠΉΡ‚ΠΎ прослСдява липсата Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° изобраТСния във всСки ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Π½Π° Kubernetes.)

2. Π’Ρ‚ΠΎΡ€ΠΎ (ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π½ΠΎ ΡΡŠΡ‰ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΈ ΠΎΡ‚Π½ΠΎΠ²ΠΎ сС отнася Π΄ΠΎ Сксплоатацията) - изобраТСния, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° Π²Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π°Π·Π°Π΄ Π² случай Π½Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° сСриозни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° вСрсия. НапримСр, Π² случая Π½Π° Helm, Ρ‚ΠΎΠ²Π° са изобраТСния, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π² Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ вСрсии Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ. (ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π² Helm ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ 256 Ρ€Π΅Π²ΠΈΠ·ΠΈΠΈ, Π½ΠΎ Π΅ ΠΌΠ°Π»ΠΊΠΎ вСроятно някой наистина Π΄Π° ΠΈΠΌΠ° Π½ΡƒΠΆΠ΄Π° Π΄Π° Π·Π°ΠΏΠ°Π·Π²Π° Ρ‚ΠΎΠ²Π° голям Π±Ρ€ΠΎΠΉ вСрсии?..) Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка Π½ΠΈΠ΅, ΠΏΠΎ-спСциално, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ вСрсии, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎ-късно, Ρ‚.Π΅. β€žΠ²Ρ€ΡŠΡ‰Π°Π½Π΅β€œ към тях, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

3. Π’Ρ€Π΅Ρ‚ΠΎ - Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅: Всички изобраТСния, ΠΊΠΎΠΈΡ‚ΠΎ са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°. НапримСр, Π°ΠΊΠΎ обмислямС PR, Ρ‚ΠΎΠ³Π°Π²Π° ΠΈΠΌΠ° смисъл Π΄Π° оставим ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ΠΎ Π½Π° послСдния ΠΊΠΎΠΌΠΈΡ‚ ΠΈ, Π΄Π° Ρ€Π΅Ρ‡Π΅ΠΌ, Π½Π° ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ ΠΊΠΎΠΌΠΈΡ‚: ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π±ΡŠΡ€Π·ΠΎ Π΄Π° сС Π²ΡŠΡ€Π½Π΅ към всяка Π·Π°Π΄Π°Ρ‡Π° ΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ.

4. Π§Π΅Ρ‚Π²ΡŠΡ€Ρ‚ΠΎ - изобраТСния, ΠΊΠΎΠΈΡ‚ΠΎ отговарят Π½Π° вСрсиитС Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚.Π΅. са крайният ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚: v1.0.0, 20.04.01/XNUMX/XNUMX, sierra ΠΈ Π΄Ρ€.

NB: Π”Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Ρ‚ΡƒΠΊ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ са Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°Π½ΠΈ въз основа Π½Π° ΠΎΠΏΠΈΡ‚ във взаимодСйствиС с дСсСтки Π΅ΠΊΠΈΠΏΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π Π°Π·Π±ΠΈΡ€Π° сС ΠΎΠ±Π°Ρ‡Π΅, Π² зависимост ΠΎΡ‚ спСцификата Π² процСситС Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π°Ρ‚Π° инфраструктура (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Kubernetes), Ρ‚Π΅Π·ΠΈ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ‚.

Допустимост ΠΈ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΈΡ‚Π΅ услуги с рСгистри Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ свои собствСни ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° почистванС Π½Π° изобраТСния: Π² тях ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ условията, ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΡŠΡ‚ сС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π° ΠΎΡ‚ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°. Π’Π΅Π·ΠΈ условия ΠΎΠ±Π°Ρ‡Π΅ са ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π°, Π²Ρ€Π΅ΠΌΠ΅ Π½Π° създаванС ΠΈ Π±Ρ€ΠΎΠΉ Ρ‚Π°Π³ΠΎΠ²Π΅*.

* Зависи ΠΎΡ‚ спСцифични внСдрявания Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ. Π Π°Π·Π³Π»Π΅Π΄Π°Ρ…ΠΌΠ΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° слСднитС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ: Azure CR, Docker Hub, ECR, GCR, GitHub Packages, GitLab Container Registry, Harbour Registry, JFrog Artifactory, Quay.io - към сСптСмври'2020.

Π’ΠΎΠ·ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π΅ напълно Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½, Π·Π° Π΄Π° ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈ Ρ‡Π΅Ρ‚Π²ΡŠΡ€Ρ‚ΠΈΡ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ - Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ изобраТСния, ΠΊΠΎΠΈΡ‚ΠΎ отговарят Π½Π° вСрсиитС. Π—Π° всички останали ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΠΎΠ±Π°Ρ‡Π΅ трябва Π΄Π° сС ΠΈΠ·Π±Π΅Ρ€Π΅ някакво компромисно Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ (ΠΏΠΎ-Ρ‚Π²ΡŠΡ€Π΄Π° ΠΈΠ»ΠΈ, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, ΠΏΠΎ-ΠΌΠ΅ΠΊΠ° ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°) - Π² зависимост ΠΎΡ‚ очакванията ΠΈ финансовитС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ.

НапримСр, трСтият ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ - ΡΠ²ΡŠΡ€Π·Π°Π½ с Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ - ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π΅ΡˆΠ΅Π½ Ρ‡Ρ€Π΅Π· ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° процСси Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅ΠΊΠΈΠΏΠΈ: спСцифично ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ Π½Π° изобраТСния, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅ Π½Π° спСциални ΡΠΏΠΈΡΡŠΡ†ΠΈ с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈ ΠΈ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ споразумСния. Но Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка всС ΠΎΡ‰Π΅ трябва Π΄Π° сС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°. И Π°ΠΊΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅ са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ, трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π½Π΅Ρ‰ΠΎ своС.

Битуацията с ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ Π΄Π²Π° критСрия Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Π°: Ρ‚Π΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈ Π±Π΅Π· ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ външна систСма - Ρ‚Π°Π·ΠΈ, Π² която са Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ прилоТСнията (Π² нашия случай Kubernetes).

Π˜Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅Π½ процСс Π² Git

Π”Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ, Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π΅Ρ‰ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π² Git:

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с "ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΎΡ‚ΠΎ" почистванС Π½Π° изобраТСния Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² werf

Π˜ΠΊΠΎΠ½Π°Ρ‚Π° с Π³Π»Π°Π²Π° Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΏΠΎΠΊΠ°Π·Π²Π° изобраТСния Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° са Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈ Π² Kubernetes Π·Π° всички ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ (ΠΊΡ€Π°ΠΉΠ½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, тСстСри, ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈ ΠΈ Ρ‚.Π½.) ΠΈΠ»ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Ρ†Π΅Π»ΠΈ.

Какво сС случва, Π°ΠΊΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° почистванС позволяват само Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° изобраТСния (Π½Π΅ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅) ΠΏΠΎ Π΄Π°Π΄Π΅Π½ΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π° Ρ‚Π°Π³ΠΎΠ²Π΅?

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с "ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΎΡ‚ΠΎ" почистванС Π½Π° изобраТСния Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² werf

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ сцСнарий няма Π΄Π° Π·Π°Ρ€Π°Π΄Π²Π° Π½ΠΈΠΊΠΎΠ³ΠΎ.

Какво Ρ‰Π΅ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, Π°ΠΊΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° позволяват изобраТСнията Π΄Π° Π½Π΅ сС ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Ρ‚? спорСд Π΄Π°Π΄Π΅Π½ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅ / Π±Ρ€ΠΎΠΉ послСдни Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ?

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с "ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΎΡ‚ΠΎ" почистванС Π½Π° изобраТСния Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² werf

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ стана ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π΄ΠΎΠ±ΡŠΡ€, Π½ΠΎ всС ΠΎΡ‰Π΅ Π΅ Π΄Π°Π»Π΅Ρ‡ ΠΎΡ‚ идСалния. Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка всС ΠΎΡ‰Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ сС нуТдаят ΠΎΡ‚ изобраТСния Π² Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° (ΠΈΠ»ΠΈ Π΄ΠΎΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈ Π² K8s), Π·Π° Π΄Π° отстраняват Π³Ρ€Π΅ΡˆΠΊΠΈ...

Π—Π° Π΄Π° ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° ΠΏΠ°Π·Π°Ρ€Π½Π° ситуация: Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² рСгистритС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚ ΠΏΡ€ΠΈ почистванС ΠΈ основната ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π·Π° Ρ‚ΠΎΠ²Π° Π΅ няма Π½Π°Ρ‡ΠΈΠ½ Π·Π° взаимодСйствиС с външния свят. Оказва сС, Ρ‡Π΅ Π΅ΠΊΠΈΠΏΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ изискват Ρ‚Π°ΠΊΠ°Π²Π° Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚, са ΠΏΡ€ΠΈΠ½ΡƒΠ΄Π΅Π½ΠΈ самостоятСлно Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° изобраТСния β€žΠΎΡ‚Π²ΡŠΠ½β€œ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ API Π½Π° Docker Registry (ΠΈΠ»ΠΈ собствСния API Π½Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½Π°Ρ‚Π° рСализация).

НиС ΠΎΠ±Π°Ρ‡Π΅ Ρ‚ΡŠΡ€ΡΠΈΡ…ΠΌΠ΅ унивСрсално Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π° почистванСто Π½Π° изобраТСния Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΅ΠΊΠΈΠΏΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ рСгистри...

ΠΠ°ΡˆΠΈΡΡ‚ ΠΏΡŠΡ‚ към унивСрсално почистванС Π½Π° изобраТСния

ΠžΡ‚ΠΊΡŠΠ΄Π΅ ΠΈΠ΄Π²Π° Ρ‚Π°Π·ΠΈ Π½ΡƒΠΆΠ΄Π°? Π€Π°ΠΊΡ‚ Π΅, Ρ‡Π΅ Π½ΠΈΠ΅ Π½Π΅ смС ΠΎΡ‚Π΄Π΅Π»Π½Π° Π³Ρ€ΡƒΠΏΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ, Π° Π΅ΠΊΠΈΠΏ, ΠΊΠΎΠΉΡ‚ΠΎ обслуТва ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ тях Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΏΠΎΠΌΠ°Π³Π°ΠΉΠΊΠΈ Π·Π° цялостното Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ с CI/CD. И основният тСхничСски инструмСнт Π·Π° Ρ‚ΠΎΠ²Π° Π΅ ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Open Source werf. НСговата особСност Π΅, Ρ‡Π΅ Ρ‚ΠΎΠΉ Π½Π΅ изпълнява Π΅Π΄Π½Π° СдинствСна функция, Π° ΡΡŠΠΏΡŠΡ‚ΡΡ‚Π²Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΈΡ‚Π΅ процСси Π½Π° доставка Π½Π° всички Π΅Ρ‚Π°ΠΏΠΈ: ΠΎΡ‚ ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ° Π΄ΠΎ внСдряванСто.

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° изобраТСния Π² Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°* (нСпосрСдствСно слСд ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ ΠΈΠΌ) Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π° функция Π½Π° Ρ‚Π°ΠΊΠ°Π²Π° ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°. И Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ изобраТСнията сС поставят Ρ‚Π°ΠΌ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, Ρ‚ΠΎΠ³Π°Π²Π° - Π°ΠΊΠΎ Π²Π°ΡˆΠ΅Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π΅ Π΅ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ - трябва Π΄Π° носитС отговорност Π·Π° послСдващото ΠΈΠΌ почистванС. Как постигнахмС успСх Π² Ρ‚ΠΎΠ²Π°, отговаряйки Π½Π° всички Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ, Ρ‰Π΅ бъдС обсъдСно Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ.

* Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ самитС рСгистри ΠΌΠΎΠΆΠ΅ Π΄Π° са Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ (Docker Registry, GitLab Container Registry, Harbor ΠΈ Ρ‚.Π½.), Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ сС ΡΠ±Π»ΡŠΡΠΊΠ²Π°Ρ‚ със ΡΡŠΡ‰ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. УнивСрсалното Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² нашия случай Π½Π΅ зависи ΠΎΡ‚ внСдряванСто Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°, Ρ‚.ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ извън самитС рСгистри ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π° всички.

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ werf ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½Π° рСализация, надявамС сС, Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ Π΅ΠΊΠΈΠΏΠΈ, ΠΈΠ·ΠΏΡ€Π°Π²Π΅Π½ΠΈ ΠΏΡ€Π΅Π΄ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ трудности.

Π’Π°ΠΊΠ° Ρ‡Π΅ сС Π·Π°Π΅Ρ…ΠΌΠ΅ външСн внСдряванС Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° почистванС Π½Π° изобраТСния - вмСсто Ρ‚Π΅Π·ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Ρ‡Π΅ са Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π² рСгистритС Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ. ΠŸΡŠΡ€Π²Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° бСшС Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° API Π½Π° Docker Registry, Π·Π° Π΄Π° сС ΡΡŠΠ·Π΄Π°Π΄Π°Ρ‚ ΡΡŠΡ‰ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ Π·Π° броя Π½Π° Ρ‚Π°Π³ΠΎΠ²Π΅Ρ‚Π΅ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° тяхното създаванС (спомСнати ΠΏΠΎ-Π³ΠΎΡ€Π΅). Π”ΠΎΠ±Π°Π²Π΅Π½ към тях Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ списък въз основа Π½Π° изобраТСния, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² Ρ€Π°Π·Π³ΡŠΡ€Π½Π°Ρ‚Π° инфраструктура, Ρ‚.Π΅. Kubernetes. Π—Π° послСдното бСшС Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ API Π½Π° Kubernetes, Π·Π° Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅Ρ‚Π΅ ΠΏΡ€Π΅Π· всички Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈ рСсурси ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ списък със стойности image.

Π’ΠΎΠ²Π° Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈ Π½Π°ΠΉ-критичния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ (ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ β„– 1), Π½ΠΎ бСшС само Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡŠΡ‚ΡƒΠ²Π°Π½Π΅ Π·Π° подобряванС Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° почистванС. Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° - ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-интСрСсна - ΡΡ‚ΡŠΠΏΠΊΠ° бСшС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ асоциирайтС ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈ изобраТСния с историята Π½Π° Git.

Π‘Ρ…Π΅ΠΌΠΈ Π·Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅

ΠšΠ°Ρ‚ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ ΠΈΠ·Π±Ρ€Π°Ρ…ΠΌΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ ΠΊΡ€Π°ΠΉΠ½ΠΎΡ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ трябва Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°Ρ‚Π° информация Π·Π° почистванС, ΠΈ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ…ΠΌΠ΅ процСса Π²ΡŠΡ€Ρ…Ρƒ схСми Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅. ΠŸΡ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ потрСбитСлят Π΅ ΠΈΠ·Π±Ρ€Π°Π» ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° опция Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ (git-branch, git-commit ΠΈΠ»ΠΈ git-tag) ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½Π°Ρ‚Π° стойност. Π’ CI систСмитС Ρ‚Π΅Π·ΠΈ стойности бяха Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ въз основа Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π° срСдата. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ ΠΊΡ€Π°ΠΉΠ½ΠΎΡ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ бСшС ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ Git ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ², ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΉΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π·Π° почистванС Π² Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ.

Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ…Π° Git Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°Ρ‚ΠΎ СдинствСн ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° истина:

  • ΠŸΡ€ΠΈ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½/Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ Π² Git, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ изобраТСния Π² Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° сС ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ.
  • Броят Π½Π° изобраТСнията, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Git Ρ‚Π°Π³ΠΎΠ²Π΅ ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° ΠΎΡ‚ броя Π½Π° Ρ‚Π°Π³ΠΎΠ²Π΅Ρ‚Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΠΈΠ·Π±Ρ€Π°Π½Π°Ρ‚Π° схСма, ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ създадСн асоциираният ΠΊΠΎΠΌΠΈΡ‚.

ΠšΠ°Ρ‚ΠΎ цяло, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π°Ρ‚Π° рСализация Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΠΈ Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ Π½ΠΈ, Π½ΠΎ скоро Π½ΠΈ ΠΎΡ‡Π°ΠΊΠ²Π°ΡˆΠ΅ Π½ΠΎΠ²ΠΎ прСдизвикатСлство. Π€Π°ΠΊΡ‚ Π΅, Ρ‡Π΅ Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ схСми Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΈ Π½Π° Git, сС Π½Π°Ρ‚ΡŠΠΊΠ½Π°Ρ…ΠΌΠ΅ Π½Π° Ρ€Π΅Π΄ΠΈΡ†Π° Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ. (Въй ΠΊΠ°Ρ‚ΠΎ тяхното описаниС Π΅ извън ΠΎΠ±Ρ…Π²Π°Ρ‚Π° Π½Π° Ρ‚Π°Π·ΠΈ статия, всСки ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ с подробноститС Ρ‚ΡƒΠΊ.) Π•Ρ‚ΠΎ Π·Π°Ρ‰ΠΎ, слСд ΠΊΠ°Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ (ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅), Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° ΠΏΡ€Π΅Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ внСдряванСто Π½Π° почистванС Π½Π° изобраТСния.

Нов Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ

Π—Π°Ρ‰ΠΎ? Π‘ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅, всСки Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈ мноТСство Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ Π² Git. ΠšΠΎΠ³Π°Ρ‚ΠΎ почистватС изобраТСния, Π²Π΅Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ‚Π΅ само ΠΎΡ‚ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚Π°, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ новият Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ към Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°.

Π—Π° новия Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° почистванС бСшС Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π° сС ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡ΠΈ ΠΎΡ‚ схСмитС Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ ΠΈ Π΄Π° сС ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ процСс Π½Π° ΠΌΠ΅Ρ‚Π°-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, всСки ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΠΊΡƒΠΏ ΠΎΡ‚:

  • Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΡŠΡ‚, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π° публикацията (няма Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ, ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΎ ΠΈΠ»ΠΈ Π΅ останало ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π² Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°);
  • ΠΈ нашия Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ Π½Π° сглобСното ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, бСшС осигурСно ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈ Ρ‚Π°Π³ΠΎΠ²Π΅ с Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ Π² Git.

ΠšΡ€Π°ΠΉΠ½Π° конфигурация ΠΈ ΠΎΠ±Ρ‰ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ

ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚ почистванСто, ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈ изобраТСния. Всяка Ρ‚Π°ΠΊΠ°Π²Π° ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° Π΅ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π°:

  • ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠΈ, Ρ‚.Π΅. Git Ρ‚Π°Π³ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Git разклонСния, ΠΊΠΎΠΈΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° сканиранС;
  • ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΡŠΡ€ΡΠ΅Π½ΠΈΡ‚Π΅ изобраТСния Π·Π° всяка рСфСрСнция ΠΎΡ‚ Π½Π°Π±ΠΎΡ€Π°.

Π—Π° ΠΈΠ»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ, Π΅Ρ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° конфигурацията Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅:

cleanup:
  keepPolicies:
  - references:
      tag: /.*/
      limit:
        last: 10
  - references:
      branch: /.*/
      limit:
        last: 10
        in: 168h
        operator: And
    imagesPerReference:
      last: 2
      in: 168h
      operator: And
  - references:  
      branch: /^(main|staging|production)$/
    imagesPerReference:
      last: 10

Π’Π°Π·ΠΈ конфигурация ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Ρ‚Ρ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠΎΠΈΡ‚ΠΎ отговарят Π½Π° слСднитС ΠΏΡ€Π°Π²ΠΈΠ»Π°:

  1. Π—Π°ΠΏΠ°Π·Π΅Ρ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° послСднитС 10 Git Ρ‚Π°Π³ΠΎΠ²Π΅ (ΠΏΠΎ Π΄Π°Ρ‚Π° Π½Π° създаванС Π½Π° Ρ‚Π°Π³ΠΎΠ²Π΅).
  2. Π—Π°ΠΏΠ°Π·Π΅Ρ‚Π΅ Π½Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 2 изобраТСния, ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈ ΠΏΡ€Π΅Π· послСдната сСдмица Π·Π° Π½Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 10 Ρ‚Π΅ΠΌΠΈ с активност ΠΏΡ€Π΅Π· послСдната сСдмица.
  3. Π—Π°ΠΏΠ°Π·Π΅Ρ‚Π΅ 10 изобраТСния Π·Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ main, staging ΠΈ production.

ΠšΡ€Π°ΠΉΠ½ΠΈΡΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ сС свСТда Π΄ΠΎ слСднитС ΡΡ‚ΡŠΠΏΠΊΠΈ:

  • Π˜Π·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° манифСсти ΠΎΡ‚ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅.
  • Π‘ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° изобраТСнията, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² Kubernetes, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π’Π΅Ρ‡Π΅ смС Π³ΠΈ ΠΈΠ·Π±Ρ€Π°Π»ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΡƒΡ‡Π²Π°Π½Π΅ Π½Π° K8s API.
  • Π‘ΠΊΠ°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° Git история ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° изобраТСния въз основа Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°.
  • ΠŸΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° останалитС изобраТСния.

Π’Ρ€ΡŠΡ‰Π°ΠΉΠΊΠΈ сС към Π½Π°ΡˆΠ°Ρ‚Π° ΠΈΠ»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ, Π΅Ρ‚ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ сС случва с werf:

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с "ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΎΡ‚ΠΎ" почистванС Π½Π° изобраТСния Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² werf

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π΄ΠΎΡ€ΠΈ ΠΈ Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ werf, ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΎ почистванС Π½Π° изобраТСния - Π² Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³Π° рСализация (спорСд прСдпочитания ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅ Π½Π° изобраТСния) - ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈ към Π΄Ρ€ΡƒΠ³ΠΈ систСми/ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°, Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΅ Π΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚, ΠΈ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ½Π΅Π·ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ във вашия стСк, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΈ позволяват Π΄Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Ρ‚Π΅ тяхното Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ възмоТно Π½Π°ΠΉ-Π³Π»Π°Π΄ΠΊΠΎ. НадявамС сС, Ρ‡Π΅ ΠΏΡŠΡ‚ΡΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·Π²ΡŠΡ€Π²ΡΡ…ΠΌΠ΅, Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ конкрСтния си случай с Π½ΠΎΠ²ΠΈ подробности ΠΈ мисли.

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

  • Π Π°Π½ΠΎ ΠΈΠ»ΠΈ късно ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Π΅ΠΊΠΈΠΏΠΈ сС ΡΠ±Π»ΡŠΡΠΊΠ²Π°Ρ‚ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°.
  • ΠŸΡ€ΠΈ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡŠΡ€Π²ΠΎ Π΄Π° сС опрСдСлят ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈΡ‚Π΅ Π·Π° умСстност Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π½ΠΈ ΠΎΡ‚ популярнитС услуги Π·Π° Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Π²ΠΈ позволяват Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ просто почистванС, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ β€žΠ²ΡŠΠ½ΡˆΠ½ΠΈΡ ΡΠ²ΡΡ‚β€œ: изобраТСнията, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² Kubernetes, ΠΈ особСноститС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΡ‚Π΅ процСси Π½Π° Π΅ΠΊΠΈΠΏΠ°.
  • Π“ΡŠΠ²ΠΊΠ°Π²ΠΈΡΡ‚ ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ трябва Π΄Π° ΠΈΠΌΠ° Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π·Π° CI/CD процСситС ΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π΅ само с Π΄Π°Π½Π½ΠΈ Π·Π° изобраТСния Π½Π° Docker.

PS

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

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

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