ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½Π°Ρ, ΠΏΠΎΠ΄ΠΌΠ΅ΡΠ°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½ Π² IT Π±Π»ΠΎΠ³ΠΎΡΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ, ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ: βΠ§ΡΠΎ ΡΡΠΎ? ΠΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ΅ ΠΌΠΎΠ΄Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ, βbuzzwordβ ΠΈΠ»ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎ-ΡΠΎ ΡΡΠΎΡΡΠ΅Π΅ ΠΏΡΠΈΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ, ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±Π΅ΡΠ°ΡΡΠ΅Π΅ Π½ΠΎΠ²ΡΠ΅ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΡ?β Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΠ»ΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΈ Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠΌ GitOps Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°Π·Π°Π΄. ΠΠΎΠΎΡΡΠΆΠΈΠ²ΡΠΈΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΡΠ°ΡΠ΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π½Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ»Π»Π΅Π³ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
ΠΡΡΠ°ΡΠΈ, ΠΎ Π½ΠΎΠ²ΠΈΠ·Π½Π΅ ΡΠ΅ΡΠΌΠΈΠ½Π° 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 Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΠΈΡ Π½Π°Ρ Π½ΠΈ Ρ ΡΠ΅ΠΌ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½ΠΎΠ²ΡΠΌ, Π½Π΅ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°Π΅Ρ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄, Π° Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΆΠ΅ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΡΠΉ ΠΎΠΏΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠΎ Π² ΡΡΠΎΠΌ ΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π΅Π³ΠΎ ΡΠΈΠ»Π°.
Π Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π²Π΄ΡΡΠ³ ΡΡΠ°Π½Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅, ΡΠΎ ΠΏΡΠΈΠ³Π»Π°ΡΠ°Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π°Ρ
-
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ GitOps
-
Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ (Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Yandex Cloud)
-
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄ΡΠ΅ΠΉΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
https://bit.ly/34tRpwZ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com