GitLab 11.10 Ρ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈ Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈ Π·Π° ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ΅Π΄ΠΎΠ²ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅.
Π£Π΄ΠΎΠ±Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ
GitLab ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡΠ° Π½Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» Π½Π° DevOps. Π ΡΠΎΠ·ΠΈ Π±ΡΠΎΠΉ Π½Π°
Π’ΠΎΠ²Π° Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ ΠΈΠ·ΡΡΠ°Π²Π°ΡΠ΅ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Π° Π½Π° Π΅Π΄ΠΈΠ½ ΠΏΡΠΎΠ΅ΠΊΡ, Π½ΠΎ Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π°ΠΊΠΎ
ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈ Π·Π° ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ
Π‘ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡΡ ΠΈ ΡΠ΅Π»Π΅Π²ΠΈΡΡ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΡΠ΅ ΡΠ°Π·ΠΌΠΈΠ½Π°Π²Π°Ρ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡ ΠΎΡΠ΄Π΅Π»Π½ΠΎ, Π½ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΡΡ Π·Π°Π΅Π΄Π½ΠΎ. Π‘Π΅Π³Π° ΡΠΈ ΠΌΠΎΠΆΠ΅Ρ
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ
GitLab 11.10 Π΄ΠΎΠ±Π°Π²Ρ ΠΎΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° Π±Π΅Π·ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈ ΠΎΠΏΡΠΎΡΡΠ΅Π½ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ. IN
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π²Π°ΡΠΈΡΠ΅ ΠΎΡΠ·ΠΈΠ²ΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ!
Π ΡΠΎΠ²Π° Π½Π΅ Π΅ Π²ΡΠΈΡΠΊΠΎβ¦
ΠΠΌΠ° ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ, Π½Π°ΠΏΡ.
ΠΠ°ΠΉ-ΡΠ΅Π½Π½ΠΈΡΡ ΡΠ»ΡΠΆΠΈΡΠ΅Π» Π·Π° ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠ΅Ρ
MVP ) β Π’Π°ΠΊΡΡ ΠΠΎΠ³ΡΡΠΈΠΠ°ΠΉ-ΡΠ΅Π½Π½ΠΈΡΡ ΡΠ»ΡΠΆΠΈΡΠ΅Π» ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠ΅Ρ Π΅ Π’Π°ΠΊΡΡ ΠΠΎΠ³ΡΡΠΈ (
Π’Π°ΠΊΡΡ ΠΠΎΠ³ΡΡΠΈ ). Π’Π°ΠΊΡΡΡΠ²ΡΡΡΠΈ Π΄ΠΎΠ±ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π·Π° ΡΠ»Π°Π²Π°ΡΠ° Π½Π° GitLab : ΠΏΠΎΠΏΡΠ°Π²Π΅Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, Π·Π°Π²ΡΡΡΠ΅Π½ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ Π² Π±Π΅ΠΊΠ΅Π½Π΄Π° ΠΈ ΠΏΡΠ΅Π΄Π½ΠΈΡ ΠΊΡΠ°ΠΉ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΈ!
ΠΡΠ½ΠΎΠ²Π½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° GitLab 11.10
Π’ΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»
PREMIUM, ULTIMATE, SILVER, GOLD
Π’Π°Π±Π»ΠΎΡΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² GitLab ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² ΡΠ΅Π»ΠΈΡ Π²ΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° GitLab. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π΅Π΄ΠΈΠ½ ΠΏΠΎ Π΅Π΄ΠΈΠ½ ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π²ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°.
Π ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΡ
ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΡΡΠΎΡΠ½ΠΈΡΡΠ° Π½Π° ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Π° ΠΊΡΠΌ ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. Π‘Π΅Π³Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π²ΠΈΠΆΠ΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ - Π² Π΅Π΄ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
Π’ΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ Π·Π° ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ
PREMIUM, ULTIMATE, SILVER, GOLD
ΠΠ±ΠΈΡΠ°ΠΉΠ½ΠΎ Π΅ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠ»ΠΎΠ½ Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ²Π° ΠΎΡ ΡΠ΅Π»Π΅Π²ΠΈΡ ΠΊΠ»ΠΎΠ½ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ Π½Π΅ Π½Π°Π»Π°Π³Π°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡ . Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΠΈ ΡΠ΅Π»Π΅Π²ΠΈΡΡ ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ ΡΠ° βΠ·Π΅Π»Π΅Π½ΠΈβ ΠΈ Π½ΡΠΌΠ° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ ΠΏΡΠΈ ΡΠ»ΠΈΠ²Π°Π½Π΅, Π½ΠΎ ΡΠ»ΠΈΠ²Π°Π½Π΅ΡΠΎ Π΅ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
ΠΠΎΠ³Π°ΡΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΡΠ·Π΄Π°Π΄Π΅ Π½ΠΎΠ²Π° Π²ΡΡΠ·ΠΊΠ°, ΠΊΠΎΡΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΎΡ ΡΠ»ΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Π»Π΅Π²ΠΈΡ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΠΈ Π²ΡΡΠ·ΠΊΠ° ΠΈ Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΠΌΠ΅, ΡΠ΅ ΠΎΠ±ΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΡΠ°Π±ΠΎΡΠΈ.
ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠ°Π½Π°Π»ΠΈ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ (ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π° Π΅) ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ°ΡΡΠ½ΠΈ GitLab runners Π²Π΅ΡΡΠΈΡ 11.8 ΠΈΠ»ΠΈ ΠΏΠΎ-ΡΡΠ°ΡΠ°, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
ΠΡΠ΅Π΄Π»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π΄Π°
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠΎΠ³Π°ΡΠΎ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π·Π°Π΅Π΄Π½ΠΎ ΠΏΠΎ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, Π²ΠΈΠ΅ ΡΠ΅ΡΡΠΎ Π·Π°Π±Π΅Π»ΡΠ·Π²Π°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡ GitLab 11.6 Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅
ΠΡΠ² Π²Π΅ΡΡΠΈΡ 11.10, diff ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ Π½Π° ΠΈΡΠΊΠ°Π½Π΅ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π΄ΠΎΠ²Π΅ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΊΠΈ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° Π·Π°ΠΏΠΈΡ Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ ΠΊΠ»ΠΎΠ½ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ΅ Ρ Π΅Π΄Π½ΠΎ ΡΡΠ°ΠΊΠ²Π°Π½Π΅. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅, ΠΊΠ°ΠΊΡΠΎ Π² ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ.
ΠΡΠ΅ΠΊΠΈ ΠΏΡΡΠΈΡΠ° Π² Π΅Π΄Π½Π° ΠΎΠ±Π»Π°ΡΡ
PREMIUM, ULTIMATE, SILVER, GOLD
Π‘ Π΅ΡΠΈΠΊΠ΅ΡΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ ΠΎΠ±Ρ Π²Π°Ρ Π΅ΠΊΠΈΠΏΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°Ρ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°ΡΠΈ ΡΠ΅ Π΅ΡΠΈΠΊΠ΅ΡΠΈ (Π² Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ ΠΎΠ±Ρ Π²Π°Ρ) ΠΊΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ Π΅ΠΏΠΈΡΠ΅Π½ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΡ Π½Π° ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΠΎΡΠΎΠΊ. Π’Π΅ ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½Π° Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ Π² Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠ°.
ΠΠ° ΠΏΡΠΈΠ΅ΠΌΠ΅ΠΌ, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ»Π΅ Π² Π·Π°Π΄Π°ΡΠΈΡΠ΅, Π·Π° Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°, ΠΊΡΠΌ ΠΊΠΎΡΡΠΎ ΡΠ° Π½Π°ΡΠΎΡΠ΅Π½ΠΈ Π²Π°ΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΡΠΊΠ° Π·Π°Π΄Π°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ½Π°ΡΡ ΡΠ°ΠΌΠΎ Π·Π° Π΅Π΄Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΏΡΠ΅ΠΊΠΈ ΠΏΡΡΠΈΡΠ° platform::iOS
, platform::Android
, platform::Linux
ΠΈ Π΄ΡΡΠ³ΠΈ, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ Π΅Π΄ΠΈΠ½ ΡΠ°ΠΊΡΠ² ΠΏΡΡΠΊ ΠΏΡΡ ΠΊΡΠΌ Π·Π°Π΄Π°ΡΠ°, ΡΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π΅ Π΄ΡΡΠ³ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΏΡΡΠΊ ΠΏΡΡ, ΠΊΠΎΠΉΡΠΎ Π·Π°ΠΏΠΎΡΠ²Π° Ρ platform::
.
ΠΠ° ΠΏΡΠΈΠ΅ΠΌΠ΅ΠΌ, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠ΅ΠΊΠΈ ΠΏΡΡΠΈΡΠ° workflow::development
, workflow::review
ΠΈ workflow::deployed
, ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ Π½Π° Π²Π°ΡΠΈΡ Π΅ΠΊΠΈΠΏ. ΠΠΊΠΎ Π·Π°Π΄Π°ΡΠ°ΡΠ° Π²Π΅ΡΠ΅ ΠΈΠΌΠ° ΠΏΡΡΠΊ ΠΏΡΡ workflow::development
, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ ΠΈΡΠΊΠ° Π΄Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈ Π·Π°Π΄Π°ΡΠ°ΡΠ° Π½Π° ΡΡΠ΅Π½Π°ΡΠ° workflow::review
, ΡΠΎΠΉ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠ»Π°Π³Π° Π½ΠΎΠ²ΠΈΡ ΠΏΡΡΠΊ ΠΏΡΡ ΠΈ ΡΡΠ°ΡΠΈΡ (workflow::development
) ΡΠ΅ ΠΈΠ·ΡΡΠΈΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ. Π’ΠΎΠ²Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΏΠΈΡΡΡΠΈ Ρ ΠΏΡΠ΅ΠΊΠΈ ΠΏΡΡΠΈΡΠ° Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ ΡΡΡ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ Π½Π° Π²Π°ΡΠΈΡ Π΅ΠΊΠΈΠΏ. Π‘Π΅Π³Π° ΡΠ»Π΅Π½ΠΎΠ²Π΅ΡΠ΅ Π½Π° Π΅ΠΊΠΈΠΏΠ°, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Ρ Π΄ΡΡΠΊΠ°ΡΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ Π² ΡΠ°ΠΌΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ.
ΠΠΎ-Π·Π°Π΄ΡΠ»Π±ΠΎΡΠ΅Π½ΠΎ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠΎΠ³Π°ΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Ρ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈ Π½Π° CI, Π²ΠΈΠ΅ Π½Π°ΡΠΈΡΠΊΠ°ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΊΡΠΌ Π΅Π΄ΠΈΠ½ ΡΠ°Π³. ΠΠΎΡΠ°Π΄ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Docker, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠ°Π·ΡΡ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π½ΠΎ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΠ΅ Π·Π°Π΅ΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΠ΅Ρ. ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° -m
Ρ registry-garbage-collect
, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΠ·ΠΎ Π΄Π° ΠΈΠ·ΡΡΠΈΠ΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π° ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΠ΅ ΡΠ΅Π½Π½ΠΎ ΠΌΡΡΡΠΎ.
ΠΠ°ΠΊΡΠΏΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠΈΠ½ΡΡΠΈ Π·Π° CI Runner
ΠΠ ΠΠΠ, Π‘Π ΠΠΠͺΠ , ΠΠΠΠ’Π
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Ρ ΠΏΠ»Π°ΡΠ΅Π½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π½Π° GitLab.com (Π·Π»Π°ΡΠΎ, ΡΡΠ΅Π±ΡΠΎ, Π±ΡΠΎΠ½Π·) Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π·Π°ΠΊΡΠΏΡΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠΈΠ½ΡΡΠΈ Π·Π° CI Runner. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈ ΠΊΠ²ΠΎΡΠ°ΡΠ°, ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π° Π² ΠΏΠ»Π°Π½Π°. Π‘ ΡΠΎΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π·Π°ΠΊΡΠΏΠΈΡΠ΅ ΠΌΠΈΠ½ΡΡΠΈ Π½Π°Π΄ ΠΊΠ²ΠΎΡΠ°ΡΠ°, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°.
Π‘Π΅Π³Π° 1000 ΠΌΠΈΠ½ΡΡΠΈ ΡΡΡΡΠ²Π°Ρ $8 ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°ΠΊΡΠΏΠΈΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ ΠΎΡ ΡΡΡ
. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΌΠΈΠ½ΡΡΠΈ ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ ΡΡΠ»Π°ΡΠ° ΡΠΈ ΠΌΠ΅ΡΠ΅ΡΠ½Π° ΠΊΠ²ΠΎΡΠ°, Π° ΠΎΡΡΠ°ΡΡΠΊΡΡ ΠΎΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΌΠΈΠ½ΡΡΠΈ ΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Ρ
Π²ΡΡΠ»ΠΈ ΠΊΡΠΌ ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΠΌΠ΅ΡΠ΅Ρ. IN
Π‘ΡΡΡΠ°Π²ΠΈΠΌΠΈ Auto DevOps
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π‘ Auto DevOps Π΅ΠΊΠΈΠΏΠΈΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Ρ ΠΊΡΠΌ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π½Π° DevOps ΠΏΠΎΡΡΠΈ Π±Π΅Π· ΡΡΠΈΠ»ΠΈΡ. ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ GitLab 11.10, Π²ΡΡΠΊΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π² Auto DevOps ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΊΠ°ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ includes
gitlab-ci.yml
. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ Π·Π°Π΄Π°Π½ΠΈΡΡΠ°, ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΠ΅, ΠΈ Π΄Π° ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΡ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π½Π°Π³ΠΎΡΠ΅.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΠΉΡΠ΅ ΡΠ»Π΅Π½ΠΎΠ²Π΅ΡΠ΅ Π½Π° Π³ΡΡΠΏΠ°ΡΠ° Π½Π° GitLab.com Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° SCIM
Π‘Π ΠΠΠͺΠ , ΠΠΠΠ’Π
ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π°ΡΠ΅ ΡΡΡΠ½ΠΎ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ Π³ΡΡΠΏΠΎΠ²ΠΎΡΠΎ ΡΠ»Π΅Π½ΡΡΠ²ΠΎ Π½Π° GitLab.com. ΠΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ SAML SSO ΠΈ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΡΠ»Π΅Π½ΡΡΠ²ΠΎΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° SCIM Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅, ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° GitLab.com.
Π’ΠΎΠ²Π° Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Ρ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡ. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠΌΠ°ΡΠ΅ Π΅Π΄ΠΈΠ½ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° ΠΈΡΡΠΈΠ½Π°, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Azure Active Directory, ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΠ΅ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΡΠ΅Π· Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° Π½Π° ΡΠ°ΠΌΠΎΠ»ΠΈΡΠ½ΠΎΡΡ, Π° Π½Π΅ ΡΡΡΠ½ΠΎ.
ΠΠ»Π΅Π·ΡΠ΅ Π² GitLab.com ΡΡΠ΅Π· SAML Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ
Π‘Π ΠΠΠͺΠ , ΠΠΠΠ’Π
ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° SAML SSO Π·Π° Π³ΡΡΠΏΠΈ, ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ΅ Π΄Π° Π²Π»Π΅Π·Π΅ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° GitLab ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΡΡ. ΠΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄Π° Π²Π»Π΅Π·Π΅ΡΠ΅ ΡΡΠ΅Π· SSO ΠΊΠ°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π½Π° GitLab, ΡΠ²ΡΡΠ·Π°Π½ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π° Π³ΡΡΠΏΠ°.
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½ΡΠΌΠ° Π΄Π° ΡΡΡΠ±Π²Π° Π΄Π° Π²Π»ΠΈΠ·Π°Ρ Π΄Π²Π° ΠΏΡΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ SAML SSO Π·Π° GitLab.com.
ΠΡΡΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² GitLab 11.10
ΠΠ΅ΡΡΠΊΠ° Π΅ΠΏΠΈΡΠ½Π° ΡΡ Π΅ΠΌΠ°
ΠΠ ΠΠΠΠ, ΠΠΠΠ’ΠΠ
Π ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ Π΄ΡΡΠ΅ΡΠ½ΠΈ Π΅ΠΏΠΎΡΠΈ (Π΅ΠΏΠΎΡΠΈ Π½Π° Π΅ΠΏΠΎΡΠΈ), Π·Π° Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ΠΌ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΈ. ΠΠ΅ΡΡΠΊΠΈΡΠ΅ Π΅ΠΏΠΎΡΠΈ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠΈΡ Π΅ΠΏΠΎΡ.
Π ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠΈΡ Π΅ΠΏΠΎΡ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΡ Π΅ΠΌΠ° Π½Π° Π΄ΡΡΠ΅ΡΠ½ΠΈΡΠ΅ Π΅ΠΏΠΎΡΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ Π΅ΠΊΠΈΠΏΠΈΡΠ΅ Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²ΠΈΠ΄ΡΡ Π²ΡΠ΅ΠΌΠ΅Π²Π°ΡΠ° Π»ΠΈΠ½ΠΈΡ Π½Π° Π΄ΡΡΠ΅ΡΠ½ΠΈΡΠ΅ Π΅ΠΏΠΎΡΠΈ ΠΈ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ.
ΠΠ·ΡΠΊΠ°ΡΠ°ΡΠΈ Π΅ΠΊΡΠ°Π½ΠΈ Π·Π° ΠΈΡΠΊΠ°Π½Π΅ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ Π²ΡΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΅ΠΊΡΠ°Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΡΠΊΠ°ΡΠ°Ρ, ΠΊΠΎΠ³Π°ΡΠΎ Π·Π°Π΄ΡΡΠΆΠΈΡΠ΅ ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΌΠΈΡΠΊΠ°ΡΠ° Π²ΡΡΡ Ρ Π²ΡΡΠ·ΠΊΠ° Π·Π° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅. ΠΡΠ΅Π΄ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΌΠ΅ ΡΠ°ΠΌΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, Π½ΠΎ ΡΠ΅Π³Π° ΠΏΠΎΠΊΠ°Π·Π²Π°ΠΌΠ΅ ΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° CI ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° ΠΈ ΠΊΡΠ°ΡΠΊΠΈΡ URL Π°Π΄ΡΠ΅Ρ.
ΠΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎ-Π²Π°ΠΆΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π±ΡΠ΄Π΅ΡΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΡ, Π½Π°ΠΏΡ.
Π€ΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΏΠΎ ΡΠ΅Π»Π΅Π²ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π Π°Π±ΠΎΡΠ½ΠΈΡΠ΅ ΠΏΠΎΡΠΎΡΠΈ Π½Π° Git Π·Π° ΠΏΡΡΠΊΠ°Π½Π΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠΎΡΡΡΠ΅Ρ ΡΠ΅ΡΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΈ ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ β Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ (Π½Π°ΠΏΡ. stable-11-9
) ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΎΡ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΠΊΡΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ (Π½Π°ΠΏΡ. integration
), Π½ΠΎ Π½Π΅ Π΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π·Π° ΡΠ΅Π·ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΡΡΠ΅Π΄ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅.
Π‘ΠΏΠΈΡΡΠΊΡΡ ΡΡΡ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΈ Π³ΡΡΠΏΠΈ Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠΈΠ»ΡΡΠΈΡΠ°Π½ ΠΏΠΎ ΡΠ΅Π»Π΅Π²ΠΈΡ ΠΊΠ»ΠΎΠ½ Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, Π·Π° Π΄Π° ΡΠ»Π΅ΡΠ½ΠΈΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ, ΠΎΡ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΠ΅.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΈ, Π₯ΠΈΡΠΎΡΠΊΠΈ Π‘Π°ΡΠΎ (
ΠΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ ΠΈ ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ΅Π½ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Trunk, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π±ΡΠ³Π²Π°ΠΌΠ΅ Π΄ΡΠ»Π³ΠΎΡΡΠ°ΠΉΠ½ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ Π² ΠΏΠΎΠ»Π·Π° Π½Π° ΠΌΠ°Π»ΠΊΠΈ, Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ Ρ Π΅Π΄ΠΈΠ½ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ. ΠΠ°Π»ΠΊΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ΅ΡΡΠΎ ΡΠ΅ Π½Π°ΡΠΎΡΠ²Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΡΠΌ ΡΠ΅Π»Π΅Π²ΠΈΡ ΠΊΠ»ΠΎΠ½, Π½ΠΎ ΡΠΎΠ²Π° ΡΠΈΡΠΊΡΠ²Π° Π΄Π° Π½Π°ΡΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡΡΠ°.
Π‘ ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ GitLab ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π½ΠΎΠ²ΠΈ ΠΎΠΏΡΠΈΠΈ Π·Π° Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ Π½Π° Git Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π»Π΅Π²ΠΈΡ ΠΊΠ»ΠΎΠ½ ΠΈ Π½Π°Π»Π°Π³Π°Π½Π΅ Π½Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠΏΠ΅ΡΠ΅Π½ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ ΠΊΡΠΌ ΠΊΠ»ΠΎΠ½Π°.
ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π²ΡΠ½ΡΠ½ΠΈ ΡΠ°Π±Π»Π° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
GitLab ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Prometheus ΡΡΡΠ²ΡΡΠΈ (ΡΡΠ΅Π΄Π°, ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ
Π‘ΠΎΡΡΠΈΡΠ°ΠΉΡΠ΅ Wiki ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΏΠΎ Π΄Π°ΡΠ° Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π Wiki ΠΏΡΠΎΠ΅ΠΊΡ Π΅ΠΊΠΈΠΏΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ Π΄ΡΡΠ³Π° Π²Π°ΠΆΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π°Π΅Π΄Π½ΠΎ Ρ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ ΠΈ Π·Π°Π΄Π°ΡΠΈΡΠ΅. Π‘ ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΎΡΡΠΈΡΠ°ΡΠ΅ ΡΠΏΠΈΡΡΠΊΠ° Ρ Wiki ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΏΠΎ Π΄Π°ΡΠ° Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ Π·Π°Π³Π»Π°Π²ΠΈΠ΅, Π·Π° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π±ΡΡΠ·ΠΎ Π½Π°ΡΠΊΠΎΡΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅.
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅, ΠΏΠΎΠΈΡΠΊΠ°Π½ΠΈ ΠΎΡ ΠΊΠ»ΡΡΡΠ΅ΡΠ°
ΠΠ ΠΠΠΠ, ΠΠΠΠ’ΠΠ
GitLab Π²ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΡΠ΅ ΡΠ²ΠΎΡ ΠΊΠ»ΡΡΡΠ΅Ρ Kubernetes Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ. ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ, Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΉΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΈ ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΎΡ Π²Π°ΡΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ, Π·Π° Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΠ½Π°Ρ Π² ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
ΠΠΈΠΆΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ Π·Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π² ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Grafana
CORE, STARTER, PREMIUM, ULTIMATE
ΠΠ½ΠΎΠ³ΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΡΠ΅ ΠΈΠ·ΠΏΡΠ°Π²Π½ΠΎΡΡΡΠ° Π½Π° Π²Π°ΡΠΈΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° GitLab. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΌΠ΅ ΡΠ°Π±Π»Π° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΡΠ΅Π· Π²Π³ΡΠ°Π΄Π΅Π½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° Grafana. ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ, Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠΈΡ ΠΌΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ°Π±Π»Π° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° NGINX load balancers.
SAST Π·Π° Elixir
ΠΠ ΠΠΠΠ, ΠΠΠΠ’ΠΠ
ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π΄Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°ΠΌΠ΅ Π΅Π·ΠΈΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ Π΄Π° Π·Π°Π΄ΡΠ»Π±ΠΎΡΠ°Π²Π°ΠΌΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ. Π ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ ΡΠΌΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π°
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π°ΡΠ²ΠΊΠΈ Π² Π΅Π΄Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ°
PREMIUM, ULTIMATE, SILVER, GOLD
Π GitLab ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ, Π·Π° Π΄Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠ±ΠΈΡΠ°ΡΠ΅. Π§Π΅ΡΡΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΈΠ»ΠΈ ΡΡΠ΅Π΄Π½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π», ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° Π΅Π΄Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ°. ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ, Π²ΠΈΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΡΠ°Π·ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ.
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ DAST Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Π³ΡΡΠΏΠ°ΡΠ°
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ Dynamic Application Security Testing (DAST) ΠΊΡΠΌ ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Π΅ΠΊΠΈΠΏΠ° Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ SAST, ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
ΠΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ ΠΊΡΠΌ ΠΎΡΡΠ΅Ρ Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ
ΠΠ ΠΠΠΠ, ΠΠΠΠ’ΠΠ
Π ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ ΠΎΡΡΠ΅ΡΡΡ Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΡΠ΄ΡΡΠΆΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ β Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ Π½ΠΈΠ΅ Π·Π°ΡΠ΅Π³Π½Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ (ΡΡΠ½ΠΊΡΠΈΡ Π½Π° Clair) Π² ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ: ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ID (Ρ ΠΏΡΠ΅ΠΏΡΠ°ΡΠΊΠ° ΠΊΡΠΌ mitre.org) ΠΈ Π·Π°ΡΠ΅Π³Π½Π°ΡΠΎ Π½ΠΈΠ²ΠΎ (Π½Π°ΠΏΡ. debian:8).
ΠΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠΈΠΏ ΠΎΡΡΠ΅Ρ Π·Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΊΡΠΌ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅
PREMIUM, ULTIMATE, SILVER, GOLD
GitLab Π²Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΠΈΠ΄Π° ΠΎΡΡΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅: ΠΎΡ ΠΎΡΡΠ΅ΡΠΈ Π΄ΠΎ
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠΎΠ²Π° ΡΠ° Π²Π°ΠΆΠ½ΠΈ ΠΎΡΡΠ΅ΡΠΈ, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΈ ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ. Π GitLab 11.10 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠΌΠ΅ ΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, ΠΊΠΎΡΡΠΎ ΠΎΡΠ°ΠΊΠ²Π° ΠΏΡΠΎΡΡΠ° Π΄Π²ΠΎΠΉΠΊΠ° ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎΡΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΡΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ°Π²Π½ΠΎΡΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½ΠΈ Π² ΠΏΡΠΎΡΡΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π·Π°Π΅Π΄Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΎΡΡΠ΅ΡΠΈ.
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ΄ΡΠ»Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° Maven Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
ΠΠ ΠΠΠΠ, ΠΠΠΠ’ΠΠ
Π‘ ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ΄ΡΠ»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° Maven ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π° GitLab. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π°, Π°ΠΊΠΎ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ» ΠΈΠΌΠ°ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π΄ΡΡΠ³ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ» ΠΎΡ ΡΡΡΠΎΡΠΎ Π½ΠΈΠ²ΠΎ, ΡΠΎΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΎΡ ΡΠ΅Π½ΡΡΠ°Π»Π½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° Maven. Π‘Π΅Π³Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ΄ΡΠ»Π΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ Maven Ρ Π΄Π²Π° ΠΌΠΎΠ΄ΡΠ»Π° ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²Π°ΡΠ° ΠΌΠΎΠ΄ΡΠ»Π°. ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΠ°ΡΡΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π²Π΅ΡΠ΅ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° Maven, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ.
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΠΏΡΡΡ Π½Π° ΠΊΠ»ΠΎΠ½ΠΈΡΠ°Π½Π΅ Π² CI
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ GitLab Runner ΠΊΠ»ΠΎΠ½ΠΈΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΏΠΎΠ΄ΠΏΡΡ $CI_BUILDS_DIR
. ΠΠΎ Π·Π° Π½ΡΠΊΠΎΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΊΠ°ΡΠΎ Golang, ΠΊΠΎΠ΄ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠ°Π½ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½.
Π GitLab 11.10 Π²ΡΠ²Π΅Π΄ΠΎΡ
ΠΌΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° GIT_CLONE_PATH
, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΡΡ, ΠΊΡΠ΄Π΅ΡΠΎ GitLab Runner ΠΊΠ»ΠΎΠ½ΠΈΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈ Π·Π°Π΄Π°ΡΠ°ΡΠ°.
ΠΠ΅ΡΠ½ΠΎ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ΅Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
GitLab ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½Π°ΡΠΈΠ½Π°
GitLab ΠΏΡΠΈΠ΅ΠΌΠ° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΡΠΊΠ° ΠΈ ΠΎΠ΄ΠΈΡΠ° ΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅. Π GitLab 11.10 Π²ΡΠ²Π΅Π΄ΠΎΡ
ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°ΡΠΈ, ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ
ΠΌΠ΅ Π½ΠΈΠ²ΠΎ Π½Π° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. Π ΡΠ΅Π³Π° ΠΈ GitLab
ΠΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ ΠΈΠ»ΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ Auto DevOps Π½Π° Π½ΠΈΠ²ΠΎ Π΅ΠΊΠΈΠΏ
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π‘ Auto DevOps Π² ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° GitLab.com ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ΅ΠΌΠ΅ΡΠ΅ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΠΎΡΠΎΡΠΈ Π½Π° DevOps ΠΎΡ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π΄ΠΎ Π΄ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ° Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ GitLab 11.10, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Auto DevOps Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² ΡΡΡΠ°ΡΠ° Π³ΡΡΠΏΠ°.
ΠΠΏΡΠΎΡΡΠ΅Π½Π° ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ° Ρ Π»ΠΈΡΠ΅Π½Π·
Π‘Π’ΠΠ Π’ΠΠ , ΠΠ ΠΠΠΠ£Π, ULTIMATE
ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π»ΠΈΡΠ΅Π½Π·Π½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ ΠΏΠΎ-ΠΏΡΠΎΡΡΠΎ, ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈ Π² Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΈΡ ΠΏΠ°Π½Π΅Π» ΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Ρ ΠΌΠ΅ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ.
ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Π·Π° ΠΏΡΡΠΊ ΠΏΡΡ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½ΠΈΡ Π½Π° Kubernetes
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠ°Π½Π΅Π»ΠΈΡΠ΅ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½ΠΈΡ Π½Π° Kubernetes.
Π ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ ΡΠΌΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ Π½Π°Π½Π°ΡΡΠΌΠ΅ ΠΏΡΠ΅ΠΊΠΈ ΠΏΡΡΠΈΡΠ° ΠΊΡΠΌ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½ΠΈΡ. Π‘ΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡΡΠ° Π²Π΅ΡΠ΅ ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΠΎΡ app.example.com/app
ΠΈ app.example.com/env
ΠΈΠ»ΠΈ app
. Π’ΠΎΠ²Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈΡΠ΅ ΠΏΡΠΈ ΡΠΈΠ»ΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΡΠΈΡΠΊΠ° ΠΎΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π² GitLab 12.0 Π½ΠΈΠ΅ app.example.com/app
ΠΈ app.example.com/env
.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ Π½Π° Kubernetes
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° Π½Π° Kubernetes Ρ GitLab Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° RBAC, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π°ΠΊΠ°ΡΠ½Ρ Π·Π° ΡΡΠ»ΡΠ³Π° ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½Π° Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° GitLab. ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ, Π·Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ ΡΠ΅Π·ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΠ°ΠΌΠΎ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅.
ΠΡΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Kubernetes GitLab CI ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΡΠ΅Π·ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΏΡΠ΅Π΄ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ.
ΠΡΡΠΏΠΎΠ²ΠΈ Π±Π΅Π³Π°ΡΠΈ Π·Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π³ΡΡΠΏΠ°
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠ»ΡΡΡΠ΅ΡΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ Π³ΡΡΠΏΠ° Π²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° GitLab Runner. ΠΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Kubernetes Π½Π° Π½ΠΈΠ²ΠΎ Π³ΡΡΠΏΠ° ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ Π½Π° Π΄ΡΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΊΠ°ΡΠΎ Π³ΡΡΠΏΠΎΠ²ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅Π»ΠΈ Ρ Π΅ΡΠΈΠΊΠ΅Ρ cluster
ΠΈ kubernetes
.
ΠΡΠΎΡΡ Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ° Π·Π° Knative ΡΡΠ½ΠΊΡΠΈΠΈ
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π€ΡΠ½ΠΊΡΠΈΠΈ, Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ Ρ
ΠΠΎΠ½ΡΡΠΎΠ» Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ git clean
Π·Π° GitLab CI/CD Π·Π°Π΄Π°Π½ΠΈΡ
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ GitLab Runner ΡΠ°Π±ΠΎΡΠΈ git clean
ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π΄Π°Π½ΠΈΠ΅ Π² GitLab CI/CD. ΠΡ GitLab 11.10 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅, ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈ Π½Π° Π΅ΠΊΠΈΠΏ git clean
. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° Π΅ΠΊΠΈΠΏΠΈ ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ Π±Π΅Π³Π°ΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π° Π΅ΠΊΠΈΠΏΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ±ΠΈΡΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΎΡ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΌΠΎΠ½ΠΎΡ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. Π‘Π΅Π³Π° ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. ΠΠΎΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° GIT_CLEAN_FLAGS
ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ -ffdx
ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ° Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ [git clean](https://git-scm.com/docs/git-clean)
.
ΠΡΠ½ΡΠ½Π° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π² Core
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π‘ΠΈΠ³ΡΡΠ½ΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ Π²ΡΠ½ΡΠ΅Π½ ΡΠ΅ΡΡΡΡ Π·Π° ΠΎΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΠ±Π°Π²ΠΈΡ
ΠΌΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π²
ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² Π³ΡΡΠΏΠΈ Π² Core
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π ΠΎΠ»ΡΡΠ° Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² Π³ΡΡΠΏΠΈ
GitLab Runner 11.10
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠ½Π΅Ρ ΠΏΡΡΠ½Π°Ρ ΠΌΠ΅ GitLab Runner 11.10! GitLab Runner Π΅ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° CI/CD Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊΡΠΌ GitLab.
ΠΠ°ΠΉ-ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ:
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π° ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΡΡ Π½Π° ΠΊΠ»ΠΎΠ½ΠΈΡΠ°Π½Π΅ . .Π£Π»ΡΡΡΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° git clean
ΠΠΏΡΠΈΡ Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ .ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΡΡΠ·Π΅Π»ΠΈΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² Windows Cmd .ΠΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ²Π΅ΡΠ΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ Π² Windows .
ΠΡΠ»Π½ΠΈΡΡ ΡΠΏΠΈΡΡΠΊ Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ Π² ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° GitLab Runner:
ΠΠΎΡΠ΅ΠΊΡΠΈΡ Π½Π° Π²ΡΡΠ½Π°ΡΠΎΡΠΎ project_id
Π² API Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΠΏΠ΅ΡΠ½Π° Π² Elasticsearch
Π‘Π’ΠΠ Π’ΠΠ , ΠΠ ΠΠΠΠ£Π, ULTIMATE
ΠΠΎΠΏΡΠ°Π²ΠΈΡ
ΠΌΠ΅ Π³ΡΠ΅ΡΠΊΠ° Π² API Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΠΏΠ΅ΡΠ½Π° Elasticsearch, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎ Π²ΡΡΡΠ°ΡΠ΅ 0 Π·Π° project_id
. Π©Π΅ ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ project_id
ΡΠ»Π΅Π΄ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ Π½Π° GitLab.
ΠΠΌΠ½ΠΈΠ±ΡΡ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ
CORE, STARTER, PREMIUM, ULTIMATE
ΠΠ°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° Omnibus Π² GitLab 11.10:
- GitLab 11.10 Π²ΠΊΠ»ΡΡΠ²Π°
ΠΠ°ΠΉ-Π²Π°ΠΆΠ½ΠΎ 5.9.0 ,Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Π½Π° Slack , ΡΠΈΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π° Π²Π΅ΡΡΠΈΡ Π²ΠΊΠ»ΡΡΠ²Π° Π½ΠΎΠ²Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π·Π° Π»Π΅ΡΠ½ΠΎ ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Hipchat ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅. Π’Π°Π·ΠΈ Π²Π΅ΡΡΠΈΡ Π²ΠΊΠ»ΡΡΠ²Π°Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ° ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅. - ΠΠΈΠ΅
ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ Grafana Ρ Omnibus , ΠΈ ΡΠ΅Π³Π° Π΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΡΠ΅ ΡΠ²ΠΎΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° GitLab. - ΠΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΎΡ ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° Docker.
- ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ ca-certs Π΄ΠΎ 2019-01-23.
ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° GitLab Ρ Π²ΡΡΠΊΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π° Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ Π½Π° GitLab ΠΎΡ Π²ΡΡΠΊΠ°ΠΊΡΠ² ΡΠ°Π·ΠΌΠ΅Ρ. ΠΡΠΊΠΎΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² GitLab 11.10:
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»Π²Π°Π½Π΅ Π²Π΅ΡΠ΅ Π΅ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ .ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ SQL Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΈ ΡΡΡΡΠ΅Π½Π΅ .Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ Ρ Elasticsearch Π²Π΅ΡΠ΅ Π½Π΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ Gitaly .GraphQL Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°Ρ Π»ΠΈΠΌΠΈΡ Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ .ΠΠ΅Π·Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠΈ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, ΠΊΠΎΠ³Π°ΡΠΎ Prometheus Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ .ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° GitHub .ΠΠ°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ Π² ΠΊΠ΅ΡΠ° ΠΏΠΎ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΎ ΠΈΠΌΠ΅ .ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅ Π² ΠΈΡΠΊΠ°Π½ΠΈΡΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ - Π²Π΅ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠΎΠΌΠ½ΡΡ ΠΏΠ΅ΡΠ½Π° ΠΎΡ diff ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ .
ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ Π½Π° GitLab
CORE, STARTER, PREMIUM, ULTIMATE
ΠΠ°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈΡΠ΅ Π½Π° GitLab:
ΠΡΡ Π²ΡΡΠ»Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
GitLab Geo ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ Ρ Π΅ΡΠΈΡΠ°Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° GitLab 12.0
ΠΠ·ΠΈΡΠΊΠ²Π° ΡΠ΅ GitLab Geo
Π GitLab
Π GitLab sudo gitlab-rake gitlab:geo:check
ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ Ρ
Π΅ΡΠΈΡΠ°Π½ΠΎΡΠΎ ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎ ΠΈ Π΄Π°Π»ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΡΠ° ΠΌΠΈΠ³ΡΠΈΡΠ°Π½ΠΈ. Π‘ΠΌ.
Π GitLab
Π GitLab
12.0 Geo ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π·Π° Ρ Π΅ΡΠΈΡΠ°Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. Π‘ΠΌ.gitlab-ee#8690 .
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 2019 ΡΠ½ΠΈ
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Ubuntu 14.04
GitLab 11.10 ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Ρ
Canonical ΠΎΠ±ΡΠ²ΠΈ ΠΊΡΠ°Ρ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Ubuntu 14.04
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 ΠΌΠ°ΠΉ 2019 Π³ΡΠ°Π΄
ΠΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡ Π±ΡΠΎΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈ, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΎΡ Π΅Π΄Π½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅
ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° GitLab ΡΡΠ·Π΄Π°Π΄Π΅ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ Π·Π° HEAD
Π²ΡΠ΅ΠΊΠΈ ΠΊΠ»ΠΎΠ½ Π² ΠΏΡΠ°ΡΠΊΠ°ΡΠ°. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π°ΡΠΈΡΠΊΠ°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π°Π²Π΅Π΄Π½ΡΠΆ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΡΠΌ ΠΊΠ»ΠΎΠ½ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΈ a develop
).
ΠΠΎ ΠΊΠΎΠ³Π°ΡΠΎ Π½Π°ΡΠΈΡΠΊΠ°ΡΠ΅ Π³ΠΎΠ»ΡΠΌΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΊΡΠ΄Π΅ΡΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅, ΠΎΠ³Π»Π΅Π΄Π°Π»Π½ΠΎ ΠΈΠ»ΠΈ ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅), Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΊΠ»ΠΎΠ½. ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ GitLab 11.10, Π½ΠΈΠ΅ ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 ΠΌΠ°ΠΉ 2019 Π³ΡΠ°Π΄
ΠΠ°ΡΠ»Π΅Π΄Π΅Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΠΏΡΡΠΈΡΠ° Π½Π° GitLab Runner
ΠΡ Gitlab 11.9 GitLab Runner ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°
Π GitLab 11.0 ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡ
ΠΌΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΠΈΠ·Π³Π»Π΅Π΄ Π½Π° ΡΡΡΠ²ΡΡΠ° Π·Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π·Π° GitLab Runner. metrics_server
ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π°ΡΠΈ Π² ΠΏΠΎΠ»Π·Π° Π½Π° listen_address
Π² GitLab 12.0. ΠΠΈΠΆΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²
ΠΡΠ² Π²Π΅ΡΡΠΈΡ 11.3 GitLab Runner Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°
Π’Π΅Π·ΠΈ ΠΏΡΡΠΈΡΠ° Π½ΡΠΌΠ° Π΄Π° ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ Π² GitLab 12.0. ΠΠ°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠ΅ Π½ΠΈΡΠΎ, ΠΏΡΠΎΡΡΠΎ ΡΠ΅ ΡΠ²Π΅ΡΠ΅ΡΠ΅, ΡΠ΅ Π²Π°ΡΠΈΡΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° GitLab ΡΠ°Π±ΠΎΡΠΈ Ρ Π²Π΅ΡΡΠΈΡ 11.9+, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π°Π΄ΡΡΡΠΎΠΈΡΠ΅ Π΄ΠΎ GitLab Runner 12.0.
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 2019 ΡΠ½ΠΈ
ΠΡΡ Π²ΡΡΠ»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Π·Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° Π²Ρ ΠΎΠ΄Π½Π° ΡΠΎΡΠΊΠ° Π·Π° GitLab Runner
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ°, Π²ΡΠ²Π΅Π΄Π΅Π½ Π² 11.4 GitLab Runner FF_K8S_USE_ENTRYPOINT_OVER_COMMAND
Π GitLab 12.0 ΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΊΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΡΡΠΊΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π°. ΠΠΈΠΆΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 2019 ΡΠ½ΠΈ
ΠΡΡ Π²ΡΡΠ»Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ Π½Π° Linux, ΠΊΠΎΡΡΠΎ Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π°Π»Π° EOL Π·Π° GitLab Runner
ΠΡΠΊΠΎΠΈ Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ GitLab Runner, ΡΠ° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠ»ΠΈ ΡΠ΅Π»ΡΠ° ΡΠΈ.
Π GitLab 12.0 GitLab Runner Π²Π΅ΡΠ΅ Π½ΡΠΌΠ° Π΄Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΊΡΠΌ ΡΠ΅Π·ΠΈ Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ. ΠΡΠ»Π΅Π½ ΡΠΏΠΈΡΡΠΊ Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π² Π½Π°ΡΠΈΡ
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 2019 ΡΠ½ΠΈ
ΠΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ GitLab Runner Helper
ΠΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΡΡΠΈΠ»ΠΈΡΡΠ° Π·Π° ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ°
GitLab 12.0 ΡΡΠ°ΡΡΠΈΡΠ° GitLab Runner Ρ Π½ΠΎΠ²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Π’ΠΎΠ²Π° ΡΠ΅ ΠΎΡΠ½Π°ΡΡ ΡΠ°ΠΌΠΎ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 2019 ΡΠ½ΠΈ
ΠΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ git clean ΠΎΡ GitLab Runner
Π GitLab Runner 11.10 git clean
. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π½ΠΎΠ²Π°ΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ git reset
ΠΈ ΠΏΠΎΡΡΠ°Π²Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° git clean
ΡΠ»Π΅Π΄ ΡΡΡΠΏΠΊΠ°ΡΠ° Π½Π° ΠΊΠ°ΡΠ²Π°Π½Π΅.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΡΠ΅Π³Π½Π΅ Π½ΡΠΊΠΎΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΡ
ΠΌΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° FF_USE_LEGACY_GIT_CLEAN_STRATEGY
. ΠΠΊΠΎ Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° true
, ΡΠ΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ Π½Π°ΡΠ»Π΅Π΄Π΅Π½Π°ΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅. ΠΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π² GitLab Runner ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅
Π GitLab Runner 12.0 ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π΅ΠΌ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° Π½Π°ΡΠ»Π΅Π΄Π΅Π½Π°ΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° Ρ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΠΈΠΆΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π²
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 2019 ΡΠ½ΠΈ
Π‘Π΅ΠΊΡΠΈΡ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΈΡ ΠΏΠ°Π½Π΅Π»
GitLab ΠΏΡΠ΅Π΄ΡΡΠ°Π²Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²Π°ΡΠΈΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° GitLab Π² admin/system_info
, Π½ΠΎ ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π΅ ΡΠΎΡΠ½Π°.
ΠΠΈΠ΅
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 2019 ΡΠ½ΠΈ
ΠΠ½Π΅Π²Π½ΠΈΠΊ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ
ΠΠΎΡΡΡΡΠ΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅:
ΠΠ½ΡΡΠ°Π»Π°ΡΠΈΡ
ΠΠΊΠΎ Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΡΠ΅ Π½ΠΎΠ²Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° GitLab, ΠΏΠΎΡΠ΅ΡΠ΅ΡΠ΅
ΠΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
Π Π°Π·Π³Π»Π΅Π΄Π°ΠΉΡΠ΅
ΠΠ±ΠΎΠ½Π°ΠΌΠ΅Π½ΡΠ½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π½Π° GitLab
GitLab ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π² Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°:
- Π―Π΄ΡΠΎ: ΠΠ° ΠΌΠ°Π»ΠΊΠΈ Π΅ΠΊΠΈΠΏΠΈ, Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° GitLab Π·Π° Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄.
- Π‘ΡΠ°ΡΡΠ΅Ρ: ΠΠ° Π΅ΠΊΠΈΠΏΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΎΡΠΈΡ ΠΏΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΈΠΎΠ½Π°Π»Π½Π° ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ°.
- ΠΠΈΡΠΎΠΊ ΠΊΠ»Π°Ρ : ΠΠ° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π΅ΠΊΠΈΠΏΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ ΠΎΡ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΈΡΠΎΠΊΠ° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° XNUMX/XNUMX.
- ΠΠΎΡΠ»Π΅Π΄Π΅Π½: ΠΠ° ΡΠΈΡΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΡΡΠ°Π±ΠΈΠ»Π½Π° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅.
- ΠΠ΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ: ΠΠ΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΡΠ°ΡΡΠ½ΠΈ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΈ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π±ΡΠΎΠΉ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠΈ. ΠΠ°ΡΠ²ΠΎΡΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΠΠ΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ, Ρ
ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΠΠΠΠ’O . - ΠΠ ΠΠΠ: ΠΠ° Π΅ΠΊΠΈΠΏΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ ΠΎΡ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ.
- Π‘Π ΠΠΠ O: ΠΠ° Π΅ΠΊΠΈΠΏΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ ΠΎΡ ΠΏΠΎ-ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ DevOps Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΈ ΠΏΠΎ-Π±ΡΡΠ·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°.
- ΠΠΠΠ’O : ΠΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎ Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ CI/CD Π·Π°Π΄Π°ΡΠΈ. ΠΡΠΈΡΠΊΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π»Π°ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΠ»Π°Π½Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com