
ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΡ Π½Π°Ρ, Π·Π°Π±Π΅Π»ΡΠ·Π²Π°ΠΉΠΊΠΈ ΠΏΠΎΡΠ΅Π΄Π½ΠΈΡ Π½ΠΎΠ² ΡΠ΅ΡΠΌΠΈΠ½ Π² IT Π±Π»ΠΎΠ³ΠΎΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ, ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΊΡΡΠ½ΠΎ ΡΠΈ Π·Π°Π΄Π°Π²Π°Ρ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π²ΡΠΏΡΠΎΡ: βΠΠ°ΠΊΠ²ΠΎ Π΅ ΡΠΎΠ²Π°? ΠΠΎΡΠ΅Π΄Π½ΠΎΡΠΎ ΠΌΠΎΠ΄Π½ΠΎ ΡΠ»ΠΎΠ²ΠΎ, βbuzzwordβ ΠΈΠ»ΠΈ Π½Π°ΠΈΡΡΠΈΠ½Π° Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π·Π°ΡΠ»ΡΠΆΠ°Π²Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΡΠΎ, ΠΈΠ·ΡΡΠ°Π²Π°Π½Π΅ΡΠΎ ΠΈ ΠΎΠ±Π΅ΡΠ°Π²Π° Π½ΠΎΠ²ΠΈ Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠΈ?β ΠΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½ ΡΠ΅ ΡΠ»ΡΡΠΈ ΠΈ Ρ ΠΌΠ΅Π½ ΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π° GitOps ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠ°ΠΏarmed with ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΡΡΠ°ΡΠΈΠΈ, Π° ΡΡΡΠΎ ΠΈ Π·Π½Π°Π½ΠΈΡΡΠ° Π½Π° ΠΊΠΎΠ»Π΅Π³ΠΈΡΠ΅ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° , ΡΠ΅ ΠΎΠΏΠΈΡΠ°Ρ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ° ΠΊΠ°ΠΊΠ²ΠΎ ΡΠΎΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° ΡΠΎΠ²Π° ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°.
ΠΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ, Π·Π° Π½ΠΎΠ²ΠΎΡΡΡΠ° Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π° GitOps ΡΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈ Π½Π°ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎΡΠΎ ΠΎΡ Π½Π°Ρ ΠΏΡΠΎΡΡΠ²Π°Π½Π΅: ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°ΡΠ° ΠΎΡ Π°Π½ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° Π·Π°ΠΏΠΎΡΠ½Π°Π»ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ.
Π ΡΠ°ΠΊΠ°, ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π΅ Π΅ Π½ΠΎΠ². ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠ±Π»Π°ΡΠ½ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π·Π° ΡΠΈΡΠΎΠΊΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ° Π²Π΅ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π΄Π΅ΡΠ΅Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ, ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Π±ΠΈ ΡΡΡΠ±Π²Π°Π»ΠΎ Π΄Π° ΡΠ° ΡΠ»Π΅ΡΠ½ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π΅ΠΊΠΈΠΏΠΈΡΠ΅, ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈ Π·Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΊΡΠ΄Π΅ΡΠΎ Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π΄ΠΎΡΡΠΈΠ³Π° Π½ΠΎΠ²ΠΈ Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠΈ), ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ΡΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ Π·Π½Π°Π½ΠΈΡ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Ρ ΠΎΠ³Π»Π΅Π΄ Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π·Π° ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ, Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡ, ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ ΠΈ Π΅Π»Π°ΡΡΠΈΡΠ½ΠΎΡΡ.
ΠΠ±Π»Π°ΡΠ½ΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π° ΡΠ΅Π·ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ Π΄Π°Π΄ΠΎΡ Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½ ΡΠ»Π°ΡΡΠΊ Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° IaC. Π’ΠΎΠ²Π° Π΅ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌΠΎ. ΠΡΠ΅ ΠΏΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ Π΄Π°Π΄ΠΎΡ Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° Π½Π°ΠΏΡΠ»Π½ΠΎ Π²ΠΈΡΡΡΠ°Π»Π΅Π½ ΡΠ΅Π½ΡΡΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ: Π½ΡΠΌΠ° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ²ΡΡΠΈ, ΡΠ°ΡΡΠΎΠ²Π΅, ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, ΡΡΠ»Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΠΏΠΈΡΠ°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
Π’Π°ΠΊΠ° Π² ΠΊΠ°ΠΊΠ²ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° GitOps ΠΎΡ IaC? ΠΠΌΠ΅Π½Π½ΠΎ Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠ° Ρ ΠΈ Π½Π°ΡΠ°Π» ΡΠ²ΠΎΠ΅ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΎΠΎΠ±ΡΠ°Π²ΡΠΈΡΡ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ, Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π²ΡΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅:
GitOps
IaC
Π¦Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π² git ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΠ΅ΡΡΠΈΠΎΠ½Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠ΄Π° Π½Π΅ Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½Π°
ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° / ΠΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΠΎΡΡ
ΠΠΎΠΏΡΡΡΠΈΠΌΠΎ Π΅ ΠΊΠ°ΠΊΡΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎ, ΡΠ°ΠΊΠ° ΠΈ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π»ΠΈΠ·Π°Ρ Π² ΡΠΈΠ»Π° Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Merge Request / Pull Request
Π‘ΡΠ³Π»Π°ΡΡΠ²Π°Π½Π΅ΡΠΎ, ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΠΊΠΎΠ»Π°Π±ΠΎΡΠ°ΡΠΈΡΡΠ° Π½Π΅ ΡΠ° Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ
ΠΡΠΎΡΠ΅ΡΡΡ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½
ΠΡΠΎΡΠ΅ΡΡΡ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ Π΅ ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ (Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½, ΡΡΡΠ΅Π½, ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ ΠΈ Ρ.Π½.)
Π‘ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ GitOps ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ IaC. ΠΡΡΠ²ΠΎ, ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈΡΠ΅ ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅Ρ Π° Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°. ΠΠΎΠ΄ΡΡ Π΅ Π»Π΅ΡΠ΅Π½ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅, ΡΡΠ°Π²Π½ΡΠ²Π°Π½Π΅ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° Π²Π΅ΡΡΠΈΡ. ΠΠ΅ΡΡΠΈΠΈ, ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅, ΠΈΡΡΠΎΡΠΈΡ. Π Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π½Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π·Π° ΡΠ΅Π»ΠΈΡ Π΅ΠΊΠΈΠΏ ΠΌΡΡΡΠΎ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΡΡΠ²ΡΠ΅ΠΌ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π±Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅. Π ΡΠ°ΡΡΠ½ΠΎΡΡ, git, ΠΊΠ°ΡΠΎ Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°ΡΠ°.
ΠΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°. Π‘Π΅Π³Π° ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ°Π½Π΅ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ, ΠΏΠΎ-Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ ΠΈ ΠΏΠΎ-Π΅Π²ΡΠΈΠ½ΠΎ. Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ Π½Π° CI / CD Π²Π΅ΡΠ΅ Π±ΡΡ Π° Π΄ΠΎΠ±ΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΡΠΎΡΡΡΠ΅Ρ. ΠΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΌΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠ°Ρ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ°Ρ Π²Π΅ΡΠ΅ ΠΏΠΎΠ·Π½Π°Π½ΠΈΡΡΠ° ΠΈ ΡΠΌΠ΅Π½ΠΈΡΡΠ° Π² Π½ΠΎΠ²Π° ΠΎΠ±Π»Π°ΡΡ. Π’Π΅Π·ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΎΠ±Π°ΡΠ΅ ΠΈΠ·Π»ΠΈΠ·Π°Ρ Π° ΠΈΠ·Π²ΡΠ½ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π° ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠΎ ΠΊΠΎΠ΄, ΠΎΡΡΡΠΊ ΠΈ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ½ΡΡΠΈΠ΅ΡΠΎ GitOps.

ΠΡΠ±ΠΎΠΏΠΈΡΡΡΠ²ΠΎΡΠΎ GitOps, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΏΡΠΎΠΈΠ·ΡΠΈΡΠ° ΠΈ ΠΎΡ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΡΠΎΠ²Π° Π½Π΅ Π΅ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΠΏΡΠΈΡΡΠ°Π²ΠΊΠ° ΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΡΠ²ΡΡΠ·Π°Π½Π° Ρ ΠΊΠ°ΠΊΡΠ²ΡΠΎ ΠΈ Π΄Π° Π΅ Π²Π΅Π½Π΄ΠΎΡ. Π’ΠΎΠ²Π° ΠΏΠΎ-ΡΠΊΠΎΡΠΎ Π΅ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π½Π° Π΄ΡΡΠ³ ΠΏΠΎΠ·Π½Π°Ρ Π½ΠΈ ΡΠ΅ΡΠΌΠΈΠ½: DevOps.
Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΠΈΠ·ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ Π΄Π²Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π·Π° ΡΠΎΠ·ΠΈ Π½ΠΎΠ² ΡΠ΅ΡΠΌΠΈΠ½: ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½ΠΎ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠ΅ΠΊΠ° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Ρ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½ΠΎΡΠΎ:
GitOps β ΡΠΎΠ²Π° Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π°ΠΏΡΠ΅Π΄Π½ΠΈΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π½Π° DevOps, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΡΡΠ³Π»Π°ΡΡΠ²Π°Π½Π΅, CI / CD, ΠΈ Π³ΠΈ ΠΏΡΠΈΠ»Π°Π³Π° Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°.
ΠΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ GitOps ΡΠ°Π±ΠΎΡΡΡ Ρ Π²Π΅ΡΠ΅ Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ. Π¦Π΅Π»ΠΈΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅Π½ ΠΊΠΎΠ΄ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π² Π²Π΅ΡΠ΅ ΠΏΠΎΠ·Π½Π°Ρ git ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Ρ ΠΏΡΠ΅Π· ΡΡΡΠΈΡ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΡΡΠ³Π»Π°ΡΡΠ²Π°Π½Π΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²ΡΠ΅ΠΊΠΈ Π΄ΡΡΠ³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ΄, Π° ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ Π½Π° ΡΠΎΠ²Π΅ΡΠΊΠΈΡ ΡΠ°ΠΊΡΠΎΡ, ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ° ΠΈ Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ°.
ΠΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ° Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° ΠΎΠΏΠΈΡΠ²Π°ΠΌΠ΅ GitOps ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½:

ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΊΠ°ΡΠΎ ΠΊΠΎΠ΄ Π²Π΅ΡΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΡ ΠΌΠ΅ ΠΊΠ°ΡΠΎ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΎΡ ΡΠ°Π·ΠΈ ΡΠΎΡΠΌΡΠ»Π°. ΠΠ΅ΠΊΠ° Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ.
Merge Request (Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Pull Request). Π ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° MR ΡΠΎΠ²Π° Π΅ ΠΈΡΠΊΠ°Π½Π΅ Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΎ ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅. ΠΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅, ΡΠΎΠ²Π° Π΅ ΠΏΠΎ-ΡΠΊΠΎΡΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠ»Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π° Π·Π° Π²ΡΠΈΡΠΊΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ: Π½Π΅ ΡΠ°ΠΌΠΎ code diff, ΡΡΠ±ΡΠ°Π½ ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π±ΡΠΎΠΉ ΠΊΠΎΠΌΠΈΡΠΈ, Π½ΠΎ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ ΡΠ΅ΡΡΠΎΠ²Π΅, ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π΅Π½ ΠΎΡΠ°ΠΊΠ²Π°Π½ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ. ΠΠΊΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅Π½ ΠΊΠΎΠ΄, Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π° ΠΊΠ°ΠΊ ΡΠΎΡΠ½ΠΎ ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°, ΠΊΠΎΠ»ΠΊΠΎ Π½ΠΎΠ²ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ, ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ. ΠΠ΅Π»Π°ΡΠ΅Π»Π½ΠΎ Π΅ Π² ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π΅Π½ ΠΈ Π»Π΅ΡΠ½ΠΎ ΡΠ΅ΡΠΈΠΌ ΡΠΎΡΠΌΠ°Ρ. Π ΡΠ»ΡΡΠ°ΠΉ Ρ ΠΎΠ±Π»Π°ΡΠ½ΠΈΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ, Π±ΠΈ Π±ΠΈΠ»ΠΎ Π΄ΠΎΠ±ΡΠ΅ Π΄Π° Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΈ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΈΡΠΈ ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ ΡΠ°Π·ΠΈ ΠΏΡΠΎΠΌΡΠ½Π°.
ΠΠΎ MR Π΅ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½Π° ΡΠ°Π±ΠΎΡΠ°, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ. Π’ΠΎΠ²Π° Π΅ ΠΌΡΡΡΠΎΡΠΎ, ΠΊΡΠ΄Π΅ΡΠΎ Π²Π»ΠΈΠ·Π° Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠ²Π΅ΡΠΈ. ΠΡ ΠΏΡΠΎΡΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ Π΄ΠΎ ΡΠΎΡΠΌΠ°Π»Π½ΠΈ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΡ.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ: CI/CD, ΠΊΠ°ΠΊΡΠΎ Π²Π΅ΡΠ΅ Π·Π½Π°Π΅ΠΌ, Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΠ΅ΡΡΠ²Π°Π½Π΅ (ΠΎΡ ΠΏΡΠΎΡΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π΄ΠΎ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ΅Π½ ΡΡΠ°ΡΠΈΡΠ΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΊΠΎΠ΄Π°). Π ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π΄ΡΠ΅ΠΉΡ: ΡΠ°Π·Π»ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎΡΠΎ ΠΈ ΠΆΠ΅Π»Π°Π½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ ΡΡΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°ΠΆΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅.
ΠΠ°, ΡΠ΅ΡΠΌΠΈΠ½ΡΡ GitOps Π½Π΅ Π½ΠΈ Π·Π°ΠΏΠΎΠ·Π½Π°Π²Π° Ρ Π½Π΅ΡΠΎ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½ΠΎΠ²ΠΎ, Π½Π΅ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠ»Π΅Π»ΠΎΡΠΎ, Π° ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠ»Π°Π³Π° Π²Π΅ΡΠ΅ Π½Π°ΡΡΡΠΏΠ°Π½ΠΈΡ ΠΎΠΏΠΈΡ Π² Π½ΠΎΠ²Π° ΠΎΠ±Π»Π°ΡΡ. ΠΠΎ Π² ΡΠΎΠ²Π° ΠΈ Π΅ ΡΠΈΠ»Π°ΡΠ° ΠΌΡ.
ΠΠΊΠΎ Π²ΠΈ ΡΡΠ°Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΊΠ°ΠΊ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, Π²ΠΈ ΠΊΠ°Π½Ρ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ Π½Π°ΡΠΈΡ , Π² ΠΊΠΎΠΉΡΠΎ ΡΡΡΠΏΠΊΠ° ΠΏΠΎ ΡΡΡΠΏΠΊΠ° ΡΠ°Π·ΠΊΠ°Π·Π²Π°ΠΌ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° GitLab:
ΠΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π½Π° GitOps
ΠΠ° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΎΠ±Π»Π°ΡΠ½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° (Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° Yandex Cloud)
ΠΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΎΡΠΊΡΠΈΡΠΈΡΡΠ° Π½Π° Π΄ΡΠ΅ΠΉΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΎΡ ΠΆΠ΅Π»Π°Π½ΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅
https://bit.ly/34tRpwZ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
