GitLab 11.10 Ρ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°ΠΌΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°ΠΌΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΡΡΠΎΠΊΠ°ΠΌ Π² ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ°Ρ .
Π£Π΄ΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΎΠ² Π² ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
GitLab ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° DevOps. Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ Π½Π°
ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΠ·ΡΡΠ°Π΅ΡΠ΅ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π½ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ
ΠΠ°ΠΏΡΡΠΊ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΎΠ² Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈΡΡ
ΠΎΠ΄Π½Π°Ρ ΠΈ ΡΠ΅Π»Π΅Π²Π°Ρ Π²Π΅ΡΠΊΠΈ ΡΠ°ΡΡ
ΠΎΠ΄ΡΡΡΡ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ½ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ, Π° Π²ΠΌΠ΅ΡΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠ°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ
Π GitLab 11.10 ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΡ
ΡΠ°Π±ΠΎΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². Π
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π°ΡΠΈ ΠΎΡΠ·ΡΠ²Ρ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ!
Π ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅ Π²ΡΠ΅…
Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΡΡΠ°ΡΡΠΈΡ
ΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
Π‘Π°ΠΌΡΠΉ ΡΠ΅Π½Π½ΡΠΉ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΡΠ° (
MVP ) β Π’Π°ΠΊΡΡ ΠΠΎΠ³ΡΡΠΈΠ ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΡΠ΅ ΡΠ°ΠΌΡΠΌ ΡΠ΅Π½Π½ΡΠΌ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠΌ ΡΡΠ°Π» Π’Π°ΠΊΡΡ ΠΠΎΠ³ΡΡΠΈ (
Takuya Noguchi ). Π’Π°ΠΊΡΡΠ½Π΅ΠΏΠ»ΠΎΡ ΠΎ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°Π» Π²ΠΎ ΡΠ»Π°Π²Ρ GitLab : ΠΈΡΠΏΡΠ°Π²Π»ΡΠ» Π±Π°Π³ΠΈ, Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°Π» Π½Π΅Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ Π² Π±ΡΠΊΠ΅Π½Π΄Π΅ ΠΈ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π΅ ΠΈ ΡΠ»ΡΡΡΠ°Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
ΠΠ»Π°Π²Π½ΡΠ΅ ΡΠΈΡΠΈ GitLab 11.10
ΠΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Ρ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
PREMIUM, ULTIMATE, SILVER, GOLD
ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² GitLab ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π½Π° Π²ΡΠ΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ GitLab. ΠΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ.
Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΡΠ°ΡΡΡΠ°Ρ
ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π²ΠΈΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΎΠ² Π²ΠΎ Π²ΡΠ΅Ρ
Π½ΡΠΆΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
β Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅.
ΠΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
PREMIUM, ULTIMATE, SILVER, GOLD
ΠΠ±ΡΡΠ½ΠΎ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ Π²Π΅ΡΠΊΠ° ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ΅ΡΡΡ ΠΎΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π²Π΅ΡΠΎΠΊ Β«Π·Π΅Π»Π΅Π½ΡΠ΅Β» ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΌΠ΅ΡΠ΄ΠΆΠ° Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π½ΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ±ΠΎΠΉ ΠΈΠ·-Π·Π° Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΠΎΠ³Π΄Π° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠΎΠ² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ ΡΡΡΠ»ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠ΅ΡΠ΄ΠΆΠ° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠΉ Π²Π΅ΡΠΎΠΊ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΎΠ±ΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠΈΠΌ.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Ρ ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠΎΠ² (Π² Π»ΡΠ±ΠΎΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅) ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΡΠ΅ ΡΠ°ΡΡΠ½ΡΠ΅ GitLab-ΡΠ°Π½Π½Π΅ΡΡ Π²Π΅ΡΡΠΈΠΈ 11.8 ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΠ΅, ΠΈΡ
Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠΎΠΊΠ°Ρ
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΡΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ°ΠΌΠΈ Π²Ρ ΡΠ°ΡΡΠΎ Π·Π°ΠΌΠ΅ΡΠ°Π΅ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π‘ Π²Π΅ΡΡΠΈΠΈ GitLab 11.6 ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌ
Π Π²Π΅ΡΡΠΈΠΈ 11.10 Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΊ Π΄ΠΈΡΡΡ ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠΎΠΊ, Π° ΠΏΠΎΡΠΎΠΌ Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ Π½Π° Π·Π°ΠΏΠΈΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π²Π΅ΡΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΡΡΡ ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠΏΠΈΠΏΠ°ΡΡΡ, ΠΊΠ°ΠΊ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΡΡ .
Π―ΡΠ»ΡΠΊΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ
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
BRONZE, SILVER, GOLD
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Ρ ΠΏΠ»Π°ΡΠ½ΡΠΌΠΈ ΠΏΠ»Π°Π½Π°ΠΌΠΈ GitLab.com (Gold, Silver, Bronze) ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΊΡΠΏΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠΈΠ½ΡΡΡ CI Runner. Π Π°Π½ΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π² ΠΊΠ²ΠΎΡΡ, ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ ΠΏΠ»Π°Π½ΠΎΠΌ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠΊΡΠΏΠ°ΡΡ ΠΌΠΈΠ½ΡΡΡ ΡΠ²Π΅ΡΡ ΠΊΠ²ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ²ΠΎΠ² Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΈΠ·-Π·Π° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΎΠ².
Π‘Π΅ΠΉΡΠ°Ρ 1000 ΠΌΠΈΠ½ΡΡ ΡΡΠΎΡΡ 8 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ², ΠΈ ΠΏΠΎΠΊΡΠΏΠ°ΡΡ ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠΈΠ½ΡΡΡ Π½Π°ΡΠ½ΡΡ ΡΠ°ΡΡ
ΠΎΠ΄ΠΎΠ²Π°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΡΡΠ°ΡΠΈΡΠ΅ Π²ΡΡ ΠΌΠ΅ΡΡΡΠ½ΡΡ ΠΊΠ²ΠΎΡΡ, Π° ΠΎΡΡΠ°ΡΠΎΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΌΠΈΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΡΡ. Π
ΠΠΎΠΌΠΏΠΎΠ½ΡΠ΅ΠΌΡΠΉ Auto DevOps
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π‘ Auto DevOps ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΡΡ Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ DevOps ΠΏΠΎΡΡΠΈ Π±Π΅Π· ΡΡΠΈΠ»ΠΈΠΉ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ GitLab 11.10 ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄ΠΆΠΎΠ± Π² Auto DevOps ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΡ includes
gitlab-ci.yml
. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ Π΄ΠΆΠΎΠ±Ρ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π² upstream.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π½Π°ΠΌΠΈ Π³ΡΡΠΏΠΏΡ Π½Π° GitLab.com Ρ ΠΏΠΎΠΌΠΎΡΡΡ SCIM
SILVER, GOLD
Π Π°Π½ΡΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ»Π΅Π½ΡΡΠ²ΠΎΠΌ Π² Π³ΡΡΠΏΠΏΠ°Ρ Π½Π° GitLab.com ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π²ΡΡΡΠ½ΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SAML SSO ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ»Π΅Π½ΡΡΠ²ΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SCIM, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΡΠ΄Π°Π»ΡΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° GitLab.com.
ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ°ΠΌΠΈ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ. Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΅Π΄ΠΈΠ½ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈΡΡΠΈΠ½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Azure Active Directory, ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ, Π° Π½Π΅ Π²ΡΡΡΠ½ΡΡ.
ΠΡ ΠΎΠ΄ Π½Π° GitLab.com ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° SAML
SILVER, GOLD
Π Π°Π½ΡΡΠ΅ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ SAML SSO Π΄Π»Ρ Π³ΡΡΠΏΠΏ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» Π²Ρ ΠΎΠ΄ΠΈΡΡ Ρ ΡΡΠ΅ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ GitLab ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΎΠΌ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ Π²Ρ ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΠ΅Π· SSO ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ GitLab, ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΊ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π΄Π²Π°ΠΆΠ΄Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²Ρ ΠΎΠ΄, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SAML SSO Π΄Π»Ρ GitLab.com.
ΠΡΡΠ³ΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π² GitLab 11.10
Π‘Ρ Π΅ΠΌΠ° Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠΏΠΈΠΊΠΎΠ²
ULTIMATE, GOLD
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠΏΠΈΠΊΠΈ (ΡΠΏΠΈΠΊΠΈ ΡΠΏΠΈΠΊΠΎΠ²), ΡΡΠΎΠ±Ρ Π²Π°ΠΌ Π±ΡΠ»ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΡΡΠΊΡΡΡΠΎΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΠΉ. ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΡΠΏΠΈΠΊΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠΏΠΈΠΊΠ°.
Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠΏΠΈΠΊΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΡ Π΅ΠΌΠ° Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠΏΠΈΠΊΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΠΈΠ΄ΡΡ Ρ ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠΏΠΈΠΊΠΎΠ² ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ.
ΠΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ ΡΠΊΡΠ°Π½Ρ ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠΎΠ²
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-based development, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡΡΠΈΡ Π²Π΅ΡΠΎΠΊ Π² ΠΏΠΎΠ»ΡΠ·Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π΅ΡΠΎΠΊ Ρ ΠΎΠ΄Π½ΠΈΠΌ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ. ΠΠ΅Π»ΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΡΡΠΌΠΎ Π² ΡΠ΅Π»Π΅Π²ΡΡ Π²Π΅ΡΠΊΡ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΡ ΡΠΈΡΠΊΡΠ΅ΠΌ Π½Π°ΡΡΡΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ.
Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ GitLab ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π² Git, ΡΡΠΎΠ±Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΡ, Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠ΅Π»Π΅Π²ΡΡ Π²Π΅ΡΠΊΡ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΌΠ΅ΡΠ΄ΠΆ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π΅ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π² Π²Π΅ΡΠΊΡ.
Π£Π»ΡΡΡΠ΅Π½Π½Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΏΠ°Π½Π΅Π»ΡΠΌΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
GitLab ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ Prometheus (Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΠ΅Π΄Ρ, ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Wiki-ΡΡΡΠ°Π½ΠΈΡ ΠΏΠΎ Π΄Π°ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π Wiki ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠ³ΡΡ Π΄Π΅Π»ΠΈΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ Π½Π°ΡΡΠ΄Ρ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ. Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠ°Π½ΠΈΡ Π² Wiki ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ Π΄Π°ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡ, ΡΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ Π½Π΅Π΄Π°Π²Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅.
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅ΡΡΡΡΠΎΠ², Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ
ULTIMATE, GOLD
GitLab ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΠΊΠ»Π°ΡΡΠ΅Ρ Kubernetes Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ ΡΠ΅ΡΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ ΠΏΠ°ΠΌΡΡΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ ΡΡΠ°Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ.
ΠΡΠΎΡΠΌΠΎΡΡ ΠΌΠ΅ΡΡΠΈΠΊ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Grafana
CORE, STARTER, PREMIUM, ULTIMATE
ΠΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° GitLab. Π Π°Π½ΡΡΠ΅ ΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ»ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Grafana. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° ΠΌΡ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² Π½Π°Π³ΡΡΠ·ΠΊΠΈ NGINX.
SAST Π΄Π»Ρ Elixir
ULTIMATE, GOLD
ΠΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΠ°ΡΡΠΈΡΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ·ΡΠΊΠΎΠ² ΠΈ ΡΠ³Π»ΡΠ±Π»ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΌΡ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π°
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅
PREMIUM, ULTIMATE, SILVER, GOLD
Π GitLab ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎΠ±Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ. Π§Π°ΡΡΠΎ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΡΡΠ΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, β Ρ ΠΎΡΠ΅ΡΡΡ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ DAST Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π³ΡΡΠΏΠΏΡ
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Dynamic Application Security Testing, DAST) Π½Π° ΠΏΠ°Π½Π΅Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π³ΡΡΠΏΠΏΡ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ SAST, ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ Π² ΠΎΡΡΠ΅Ρ ΠΎ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²
ULTIMATE, GOLD
Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ Π² ΠΎΡΡΠ΅ΡΠ΅ ΠΎ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ β ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ (ΡΠΈΡΠ° Clair) Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅: ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (ΡΠΎ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° mitre.org) ΠΈ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, debian:8).
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΎΡΡΠ΅ΡΠ° ΠΏΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌ Π² ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΡ
PREMIUM, ULTIMATE, SILVER, GOLD
GitLab ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² ΠΎΡΡΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΡΠΌΠΎ Π² ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΡ: ΠΎΡ ΠΎΡΡΠ΅ΡΠΎΠ² ΠΎ
Π Ρ ΠΎΡΡ ΡΡΠΎ Π²Π°ΠΆΠ½ΡΠ΅ ΠΎΡΡΠ΅ΡΡ, Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΡΠΎΠΆΠ΅ Π½ΡΠΆΠ½Ρ. Π GitLab 11.10 ΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΎΡΡΠ΅ΡΡ ΠΏΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΡΠΌΠΎ Π² ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΏΡΠΎΡΡΡΡ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ°. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π°Π³ΡΡΠ·ΠΎΠΊ ΠΈ ΡΡΠ°ΡΡΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΡΡΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΏΡΡΠΌΠΎ Π² ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠ°Ρ Π½Π°ΡΡΠ΄Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΠΎΡΡΠ΅ΡΠ°ΠΌΠΈ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΡΠ»ΡΡΠΈΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Maven Π΄Π»Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
ULTIMATE, GOLD
Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΌΡΠ»ΡΡΠΈΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ 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 Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅.
Π£ΠΏΡΠΎΡΠ΅Π½Π½Π°Ρ ΠΈ ΡΠ»ΡΡΡΠ΅Π½Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ
STARTER, PREMIUM, 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
Π ΠΎΠ»Ρ Developer ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ Π² Π³ΡΡΠΏΠΏΠ°Ρ
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 ΠΏΠΎΠΈΡΠΊΠ° blob Π² Elasticsearch
STARTER, PREMIUM, ULTIMATE
ΠΡ ΠΈΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ Π² API ΠΏΠΎΠΈΡΠΊΠ° blob Π² Elasticsearch, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π» 0 Π΄Π»Ρ project_id
. ΠΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ project_id
ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ GitLab.
Π£Π»ΡΡΡΠ΅Π½ΠΈΡ Omnibus
CORE, STARTER, PREMIUM, ULTIMATE
ΠΡ Π²Π½Π΅ΡΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π² Omnibus Π² GitLab 11.10:
- GitLab 11.10 Π²ΠΊΠ»ΡΡΠ°Π΅Ρ
Mattermost 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 .ΠΠΎΠΈΡΠΊ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΠΊΡΡΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΡΡΠ»ΠΊΠΈ .Π£Π»ΡΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΈΡΡΠΎΠ² ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠΎΠ² β ΡΠ΅ΠΏΠ΅ΡΡ blob Π΄ΠΈΡΡ-ΡΠ°ΠΉΠ»ΠΎΠ² Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ .
Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ 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
ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Π² ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅. ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π²Π΅ΡΠΊΡ ΡΠΈΡΠΈ ΠΈ Π² Π²Π΅ΡΠΊΡ develop
).
ΠΠΎ ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π³Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π°ΠΊΡΠΈΠ²Π½ΡΡ
Π²Π΅ΡΠΎΠΊ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΎΡΠ·Π΅ΡΠΊΠ°Π»ΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ°Π·Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ), Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΠΊΠΈ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ GitLab 11.10 ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ
ΠΠ°ΡΠ° ΡΠ΄Π°Π»Π΅Π½ΠΈΡ: 22 ΠΌΠ°Ρ 2019 Π³.
Π£ΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΠΏΡΡΠΈ legacy ΠΊΠΎΠ΄Π° 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 Π³.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ legacy ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° git clean ΠΈΠ· GitLab Runner
Π GitLab Runner 11.10 git clean
. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½ΠΎΠ²Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ git reset
ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git clean
ΠΏΠΎΡΠ»Π΅ ΡΠ°Π³Π° Π²ΡΠ³ΡΡΠ·ΠΊΠΈ.
Π Π°Π· ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΌΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ FF_USE_LEGACY_GIT_CLEAN_STRATEGY
. ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true
, ΠΎΠ½ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ legacy-ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΎΡΠΈΡΡΠΊΠΈ. ΠΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Π² GitLab Runner ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ
Π GitLab Runner 12.0 ΠΌΡ ΡΠ΄Π°Π»ΠΈΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ legacy-ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΎΡΠΈΡΡΠΊΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π²
ΠΠ°ΡΠ° ΡΠ΄Π°Π»Π΅Π½ΠΈΡ: 22 ΠΈΡΠ½Ρ 2019 Π³.
Π Π°Π·Π΄Π΅Π» System Info Π² ΠΏΠ°Π½Π΅Π»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°
GitLab ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²Π°ΡΠ΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ GitLab Π² admin/system_info
, Π½ΠΎ ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΎΡΠ½ΠΎΠΉ.
ΠΡ
ΠΠ°ΡΠ° ΡΠ΄Π°Π»Π΅Π½ΠΈΡ: 22 ΠΈΡΠ½Ρ 2019 Π³.
ΠΡΡΠ½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΡΠΈΡΠ΅ Π²ΡΠ΅ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΆΡΡΠ½Π°Π»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΠ΅ Π½ΠΎΠ²ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ GitLab, ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅
ΠΠ°Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π°
ΠΠ»Π°Π½Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ GitLab
GitLab Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Π΄Π²ΡΡ
Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ
:
- Core: Π΄Π»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ GitLab Π½Π° Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄.
- Starter: Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΡΠΈΡΠ΅ Π½Π°Π΄ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠΌ Π½ΡΠΆΠ½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°.
- Premium: Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠΌ Π½ΡΠΆΠ½Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΡΠΎΠΊΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΈ ΠΊΡΡΠ³Π»ΠΎΡΡΡΠΎΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°.
- Ultimate: Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°Π΄Π΅ΠΆΠ½Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Ρ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ.
- Free: Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΡΡΠ½ΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π£ Π·Π°ΠΊΡΡΡΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΈΡΠ°ΠΌ ΡΡΠΎΠ²Π½Ρ Free, Ρ
ΠΎΡΠΊΡΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΈΡΠ°ΠΌ ΡΡΠΎΠ²Π½Ρ Gold. - Bronze: Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠΌ Π½ΡΠΆΠ΅Π½ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌ ΡΠΈΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
- Silver: Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠΌ Π½ΡΠΆΠ½Ρ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ DevOps, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΈ Π±ΡΡΡΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°.
- Gold: ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄ΠΆΠΎΠ±ΠΎΠ² CI/CD. ΠΡΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΠΈ Gold Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΠ»Π°Π½Π°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com