
ΠΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΈΠ·Π²Π΅ΡΡΠΈΡ
Π GitLab ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΡΡΡΠΈΠΌ Π½ΠΎΠ²ΠΈ Π½Π°ΡΠΈΠ½ΠΈ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅Π»ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½ ΡΠΈΠΊΡΠ» Π½Π° DevOps. Π‘ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΠ²ΠΈΠ΅ ΠΎΠ±ΡΠ²ΡΠ²Π°ΠΌΠ΅, ΡΠ΅ Π² ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ ! Π’Π°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π΅ Π½Π°Π»ΠΈΡΠ½Π° ΠΎΡ Π½ΠΈΠ²ΠΎΡΠΎ GitLab Starter ΠΈ ΠΈΡΡΠΈΠ½ΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ·Π΄Π°Π²Π° Π½Π°ΡΠΈΡ Π΄Π΅Π²ΠΈΠ·: βΠΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π°Π΄Π΅ ΡΠ²ΠΎΡ ΠΏΡΠΈΠ½ΠΎΡβ. ΠΠ½Π°Π΅ΠΌ, ΡΠ΅ ΠΏΠΎ Π΅Π΄Π½Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΠ°, Π·Π° Π΄Π° Π±ΡΠ΄Π΅ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΡΠ½ΠΎ, ΠΈ ΡΠ΅Π³Π° ΠΈΠΌΠ°ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° Π½Π°Π·Π½Π°ΡΠ°Π²Π°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈ Π»ΠΈΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ!
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π΅ΠΊΠΈΠΏΠΈΡΠ΅ Π½Π° DevOps ΡΠ΅Π³Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ . ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ Π½ΠΎΠ²ΠΈ ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π² ΡΠΏΠΈΡΡΠΊΠ° Π½Π° ΡΡΠ±ΠΈΡΠΈΡΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π² ΡΠ΅Π·ΠΈ Π΄Π²Π° ΡΠ°ΡΠ° ΠΈ Π²Π°ΡΠΈΡΡ Π΅ΠΊΠΈΠΏ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π΅Π΄Π½Π°Π³Π° ΡΠ΅ Π½Π°ΡΡΠ°Π²Π° Π·Π° Π½ΠΎΠ²ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ.
Π‘ΡΠΊΡΠ°ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π² Windows ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Kubernetes ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ
ΠΠ±ΠΎΠΆΠ°Π²Π°ΠΌΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ! ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΡΠ°Π·Ρ ΠΎΠ΄Π²Π°Ρ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Ρ ΠΏΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. Π‘ Π²Π΅ΡΡΠΈΡ GitLab 11.11 ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ , Π·Π°ΡΠΎΠ²Π° ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π² Windows ΠΈ Π΄Π° ΡΠ΅ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°Π²Π°ΡΠ΅ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈ.
GitLab Premium (ΡΠ°ΠΌΠΎ Π·Π° ΡΠ°ΠΌΠΎΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°ΡΠΈ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ) Π²Π΅ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° . Π’ΠΎΠ²Π° Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ ΡΡΠΊΠΎΡΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅Π³Π° ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ°Ρ ΠΏΡΠΎΠΊΡΠΈ Π·Π° ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Docker ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΌΠΎΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°ΡΠΈ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ Π½Π° GitLab ΡΠ΅Π³Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π½Π°ΡΡΡΠΎΠΉΠ²Π°Ρ , ΠΈ Π²ΡΠΈΡΠΊΠΈ Π³ΡΡΠΏΠΈ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΡΠ° ΡΠ΅ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΠ²ΠΎΠΈΡΠ΅ Π΄Π΅ΠΏΠ»ΠΎΠΈ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ GitLab Ρ Kubernetes Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΠ΅ΡΡΡΡΠΈ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π·Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ.
Π ΡΠΎΠ²Π° Π½Π΅ Π΅ Π²ΡΠΈΡΠΊΠΎ!
ΠΡΠ²Π΅Π½ Π½ΠΎΠ²ΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΈΠ·Π²Π΅ΡΡΠΈΡ, Π½ΠΈΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ , ΡΠ²Π΅Π»ΠΈΡΠΈΡ ΠΌΠ΅ , ΠΎΠΏΡΠΎΡΡΠΈΡ ΠΌΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° , ΠΈ ΠΎΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ!
ΠΠ°ΠΉ-ΡΠ΅Π½Π½ΠΈΡΡ ΡΠ»ΡΠΆΠΈΡΠ΅Π» Π·Π° ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠ΅Ρ () β ΠΠΈΠ° ΠΡΠΉ Π‘ΠΎΠΌΠ°Π±Π΅Ρ ()
Π ΡΠΎΠ·ΠΈ Π±ΡΠΎΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΡΠ΅ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Π° Π½Π΅ ΡΡΠ»ΠΎΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΡΠ΅ ΡΠ°ΠΌΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠΈΠΌ Π²ΠΈ, ΠΠΈΠ° ΠΡΠΉ Π‘ΠΎΠΌΠ°Π±Π΅Ρ!
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° GitLab 11.11
Windows Container Executor Π·Π° GitLab Runner
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π GitLab 11.11 Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ Π½ΠΎΠ² ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅Π» Π² GitLab Runner, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ Docker Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² Windows. ΠΠΎ-ΡΠ°Π½ΠΎ Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ Docker Π² Windows ΡΠ΅ Π½Π°Π»Π°Π³Π°ΡΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° (shell), Π° ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ Docker Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² Windows, ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΊΡΠΎ Π² Linux. Π‘Π΅Π³Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ Π½Π° Microsoft ΠΈΠΌΠ°Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ Π½Π° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
Π’Π°Π·ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° PowerShell Π² GitLab CI/CD, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½ΠΎΠ²ΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ Windows. ΠΠ°ΡΠΈΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ Windows-ΡΠ°Π½Π΅ΡΠΈ, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Ρ GitLab.com, Π½ΠΎ Π·Π°ΡΠ΅Π³Π° Π½Π΅ ΡΠ° Π² ΡΠΏΠΈΡΡΠΊΠ° Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ.
ΠΠ΅ΡΠΈΡΠ°Ρ ΠΏΡΠΎΠΊΡΠΈ Π·Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅
PREMIUM, ULTIMATE
ΠΡΠ±ΠΎΡΠΈΡΠ΅ ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π² ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈΡΠ΅ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅, Π° ΠΊΠ΅ΡΠΈΡΠ°ΡΠΈΡΡ ΠΏΡΠΎΠΊΡΠΈ Π·Π° ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ upstream Π΅ ΠΎΡΠ»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈΡΠ΅. Π‘ Π»ΠΎΠΊΠ°Π»Π½Π°ΡΠ° ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΠ»ΠΎΠ΅Π²Π΅, Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΡΠ΅Π· Π½ΠΎΠ²ΠΈΡ ΠΊΠ΅ΡΠΈΡΠ°Ρ ΠΏΡΠΎΠΊΡΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Ρ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π·ΠΈ Π² ΡΡΠ΅Π΄Π°ΡΠ° Π²ΠΈ.
ΠΠ°ΡΠ΅Π³Π° ΠΏΡΠΎΠΊΡΠΈΡΠΎ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π΅ Π½Π°Π»ΠΈΡΠ½ΠΎ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ°ΠΌΠΎΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ Π½Π° ΡΠ΅Π± ΡΡΡΠ²ΡΡΠ° .
ΠΡΠΊΠΎΠ»ΠΊΠΎ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈΡΠΈ Π·Π° ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠΈ
STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD
Π§Π΅ΡΡΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΡΠΈ ΡΠ°Π±ΠΎΡΡΡ Π²ΡΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΎΠ±Ρ ΠΊΠ»ΠΎΠ½ ΠΈ ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΠΎΠ½ΡΠ΅Π½Π΄ ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΡΡΡΠ½ΠΎ ΡΠΈ ΡΡΡΡΡΠ΄Π½ΠΈΡΠ°Ρ ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ Π΄Π²ΠΎΠΉΠΊΠΈ, ΠΊΠ°ΠΊΡΠΎ Π² Π΅ΠΊΡΡΡΠ΅ΠΌΠ΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅.
Π GitLab 11.11 ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°Π·Π½Π°ΡΠ°Π²Π°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΡΠΈ Π½Π° ΠΌΠ΅ΡΠ΄ΠΆ-ΡΠ΅ΠΊΠ²Π΅ΡΡΠΈ. ΠΠ°ΠΊΡΠΎ ΠΏΡΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΡΠΎ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΈ Π·Π° Π·Π°Π΄Π°ΡΠΈ, ΡΡΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠΏΠΈΡΡΡΠΈ, ΡΠΈΠ»ΡΡΠΈ, ΠΈΠ·Π²Π΅ΡΡΠΈΡ ΠΈ API.
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Kubernetes Π½Π° Π½ΠΈΠ²ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ
CORE, STARTER, PREMIUM, ULTIMATE
ΠΠΎΠ΄Π΅Π»ΡΡ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΡΠ½Π΅ Π² Kubernetes ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΈ Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°ΡΠ΅ Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΡΡΠ΅Π· Π΅Π΄ΠΈΠ½ ΠΎΠ±Ρ ΠΊΠ»Π°ΡΡΠ΅Ρ.
Π GitLab 11.11 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΌΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΡΡ ΠΊΠ»ΡΡΡΡΡ Π½Π° Π½ΠΈΠ²ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ ΠΈ Π²ΡΠΈΡΠΊΠΈ Π³ΡΡΠΏΠΈ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡΡΠ° ΡΠ΅ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΠ²ΠΎΠΈΡΠ΅ ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° Π½Π° GitLab Ρ Kubernetes, ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΡΠ΅ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π·Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ Π² Slack ΠΈ Mattermost
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π·Π° ΡΡΠ±ΠΈΡΠΈΡ Π½Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π² ΠΊΠ°Π½Π°Π»Π° Π½Π° Π΅ΠΊΠΈΠΏΠ° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° Ρ ΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΈ , ΠΈ Π²Π°ΡΠΈΡΡ Π΅ΠΊΠΈΠΏ ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π°ΡΡΠ½ΠΎ Ρ Π²ΡΠΈΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΈ ΡΡΠ±ΠΈΡΠΈΡ.
ΠΠΎΡΡΡΠ²Π°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π‘Π΅Π³Π° Π³ΠΎΡΡΡΠ²Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° Π²Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°Ρ Π²Π΅ΡΡΠΈΠΈΡΠ΅, ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Ρ Π²Π΅ΡΡΠΈΠΈ. Π’Π΅ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ, Π½ΠΎ Π½ΡΠΌΠ° Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΡ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π΄Π° Π²ΠΈΠ΄ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π³ΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΈΡΠΈ.
ΠΡΡΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² GitLab 11.11
Π‘Π΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π³ΡΠ°ΡΠΎΠ²Π΅ Π½Π° ΠΊΠΎΠΌΠΈΡΠΈ Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² Git Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΎΠ±Ρ ΠΎΠ΄ΠΈ Π³ΡΠ°ΡΡΡ Π½Π° ΠΊΠΎΠΌΠΈΡΠΈΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ ΠΊΠΎΠΌΠΈΡ. ΠΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΊΠΎΠΌΠΈΡΠΈ, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π±Π°Π²Π½ΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΠ΅Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π·Π°ΡΠΎΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ Π·Π°ΡΠ΅Π΄ΠΈ Π²ΡΠ΅ΠΊΠΈ ΠΎΠ±Π΅ΠΊΡ ΠΎΡ Π΄ΠΈΡΠΊΠ°, Π·Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ°Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΌΡ.
Π GitLab 11.11 Π²Π½Π΅Π΄ΡΠΈΡ ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π³ΡΠ°ΡΠΎΠ²Π΅ Π½Π° ΠΊΠΎΠΌΠΈΡΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° Git, Π·Π° Π΄Π° ΠΈΠ·ΡΠΈΡΠ»ΠΈΠΌ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ Π΄Π° ΡΡΡ ΡΠ°Π½ΠΈΠΌ ΡΠ°ΠΊΠ°Π²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π‘Π΅Π³Π° ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΠ΅ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ. ΠΡΠ°ΡΡΡ Π½Π° ΠΊΠΎΠΌΠΈΡΠΈΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΏΡΠΈ ΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ ΠΈΠ·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ.
ΠΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΡ Π³ΡΠ°Ρ Π½Π° ΠΊΠΎΠΌΠΈΡΠΈΡΠ΅ Π² ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΎΡ Π°Π²ΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠΈΠ½ΡΡΠΈ CI Runner: ΡΠ΅Π³Π° ΠΈ Π·Π° Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅
ΠΠΠΠΠΠΠ’ΠΠ, ΠΠ ΠΠΠΠΠ, Π‘Π ΠͺΠΠ, ΠΠΠΠ’ΠΠ
ΠΠΈΠ½Π°Π»ΠΈΡ ΠΌΠ΅ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ ΠΊΡΠΏΡΠ²Π°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠΈΠ½ΡΡΠΈ CI Runner, Π½ΠΎ ΡΠ°ΠΌΠΎ Π·Π° ΠΏΠ»Π°ΡΠ΅Π½ΠΈΡΠ΅ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π½Π° GitLab.com. Π ΡΠΎΠ²Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΈΠ½ΡΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΊΡΠΏΡΠ²Π°Ρ ΠΈ Π·Π° Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅.
ΠΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° Π°ΡΡ ΠΈΠ²ΠΈ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΈΠΏΠ° ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π°ΡΡ ΠΈΠ²ΡΡ Π½Π° ΡΠ΅Π»ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΡΠ΅Π³Π»Ρ Π΄ΡΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΌΠΎΠ½ΠΎΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. Π GitLab 11.11 ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΡΠ΅ Π°ΡΡ ΠΈΠ² Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΡΠ°ΠΌΠΎ Π½ΡΠΆΠ½ΠΈΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ°, !
ΠΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅Π³Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π° ΠΎΠ±ΡΡΠΆΠ΄Π°Π½Π΅ΡΠΎ
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΠΏΡΠΈ ΠΌΠ΅ΡΠ΄ΠΆ ΡΠ΅ΠΊΠ²Π΅ΡΡΠΈΡΠ΅: ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π·Π° ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π°ΡΠ° ΠΏΡΠΎΠΌΡΠ½Π°. Π GitLab 11.11 Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΠ΅Ρ ΠΎΡΠ΅ ΠΏΠΎ-Π»Π΅ΡΠ΅Π½: ΡΠ΅Π³Π° ΠΎΠ±ΡΡΠΆΠ΄Π°Π½Π΅ΡΠΎ ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠΈ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.

Π₯ΡΠΎΠ½ΠΎΠΌΠ΅ΡΡΡ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π² ΡΡΡΠ°Π½ΠΈΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° Π·Π°Π΄Π°ΡΠΈ
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π‘ΡΡΠ°Π½ΠΈΡΠ½ΠΈΡΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½ΠΈΡΡΠ° Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ ΠΈ Π·Π°Π΄Π°ΡΠΈΡΠ΅. ΠΠΎΡΠ°Π΄ΠΈ ΡΠΎΠ²Π° Π² GitLab ΡΠ΅Π³Π° ΠΈΠΌΠ° Ρ ΡΠΎΠ½ΠΎΠΌΠ΅ΡΡΡ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π² ΡΡΡΠ°Π½ΠΈΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅ Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° Π·Π°Π΄Π°ΡΠΈ. ΠΡΠΎΡΡΠΎ ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° Π·Π°Π΄Π°ΡΠΈ, ΠΊΠ»ΠΈΠΊΠ½Π΅ΡΠ΅ Π²ΡΡΡ Ρ Π·Π°Π΄Π°ΡΠ°ΡΠ° ΠΈ ΡΠ΅ ΡΠ΅ ΠΎΡΠ²ΠΎΡΠΈ ΡΡΡΠ°Π½ΠΈΡΠ΅Π½ ΠΏΠ°Π½Π΅Π» Ρ Ρ ΡΠΎΠ½ΠΎΠΌΠ΅ΡΡΡΠ°.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π΄Π΅ΠΏΠ»ΠΎΠΉments Π² Environments API
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΡΡΠ΅Π΄Π° ΠΎΡ Environments API, Π·Π° Π΄Π° Π·Π½Π°Π΅ΡΠ΅ ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΈΡ Π΅ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π² ΡΡΠ΅Π΄Π°ΡΠ° Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°. Π’ΠΎΠ²Π° ΡΠ΅ ΡΠ»Π΅ΡΠ½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΈ ΠΎΡΡΠ΅ΡΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Environments Π² GitLab.
ΠΡΡΠΈΡΠ°ΡΠ΅Π»Π½ΠΈ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π·Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΡΠ΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»Π½ΠΎ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ ΠΈΠ»ΠΈ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ (!= ΠΈ !~) Π²ΡΠ² ΡΠ°ΠΉΠ»Π° .gitlab-ci.yml ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΡ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈΡΠ΅ ΡΡΠ°Π½Π° ΠΏΠΎ-Π³ΡΠ²ΠΊΠ°Π².
Π‘ΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΡΡΠ½ΠΈ Π΄ΠΆΠΎΠ±ΠΎΠ²Π΅ Π½Π° Π΅ΡΠ°ΠΏ Ρ Π΅Π΄Π½ΠΎ ΡΡΠ°ΠΊΠ²Π°Π½Π΅
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π GitLab 11.11 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ½ΠΈ Π΄ΠΆΠΎΠ±ΠΎΠ²Π΅ Π½Π° Π΅ΡΠ°ΠΏΠΈΡΠ΅, ΡΠ΅Π³Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π΄ΠΆΠΎΠ±ΠΎΠ²Π΅ Π½Π° Π΅Π΄ΠΈΠ½ Π΅ΡΠ°ΠΏ, Π½Π°ΡΠΈΡΠΊΠ°ΡΠ° Π±ΡΡΠΎΠ½Π° "Play all" ("Π‘ΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ") Π²Π΄ΡΡΠ½ΠΎ ΠΎΡ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π΅ΡΠ°ΠΏΠ° Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°.
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ» Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π·Π° ΡΠ°ΠΉΠ½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π·Π°ΡΠΈΡΠ° ΠΈ ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΡΠ°ΠΌΠΎ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ ΡΡΠ΅Π΄Π°. ΠΠ° ΡΠΎΠ²Π° Π·Π°Π΄Π°Π²Π°ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° ΠΊΠ°ΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΉΠ»Π° ΠΈ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ°ΠΉΠ» Π² Π΄ΠΆΠΎΠ±Π°, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ°. Π‘ Π½ΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° ΠΎΡ ΡΠΈΠΏ file ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π·Π° Π΅Π΄Π½Π° ΡΡΡΠΏΠΊΠ° Π΄ΠΎΡΠΈ Π±Π΅Π· ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° .gitlab-ci.yml.
ΠΡΠ°Π΅Π½ ΠΏΡΠ½ΠΊΡ Π½Π° API Π·Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
ULTIMATE, GOLD
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°ΠΏΠΈΡΠ²Π°ΡΠ΅ GitLab API Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΎΡΠΊΡΠΈΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π‘ ΡΠΎΠ·ΠΈ API ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΎΡΠΈΡΠ°Π΅ΠΌΠΈ ΡΠΏΠΈΡΡΡΠΈ Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Ρ ΡΠΈΠ»ΡΡΠΈ ΠΏΠΎ ΡΠΈΠΏ, Π΄ΠΎΡΡΠΎΠ²Π΅ΡΠ½ΠΎΡΡ ΠΈ ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΎΡΡ.
ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠ»Π½ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π·Π° DAST
ULTIMATE, GOLD
Π GitLab ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π΄Π° ΡΠ΅ΡΡΠ²Π°ΡΠ΅ Π·Π°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Dynamic Application Security Testing, DAST) Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° CI ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°. ΠΡ ΡΠΎΠ·ΠΈ Π²ΡΠΏΡΡΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΏΡΠ»Π½ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ ΠΏΠ°ΡΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅. ΠΡΠ»Π½ΠΎΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π·Π°ΡΠΈΡΠ°Π²Π° ΠΎΡ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ.
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Prometheus Π² ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π½Π° Π³ΡΡΠΏΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
Π ΡΠΎΠ·ΠΈ Π²ΡΠΏΡΡΠΊGitLab Π΄ΠΎΠ±Π°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΠ΅ Kubernetes ΠΊΠ»ΡΡΡΠ΅Ρ ΠΊΡΠΌ ΡΡΠ»Π°ΡΠ° Π³ΡΡΠΏΠ°. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° Prometheus Π½Π° ΡΠΎΠ·ΠΈ ΠΊΠ»ΡΡΡΠ΅Ρ, Π·Π° Π΄Π° ΠΎΠΏΡΠΎΡΡΠΈΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π½Π° Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
ULTIMATE, GOLD
ΠΠ° ΡΠ°Π±Π»Π°ΡΠ° Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° GitLab Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Π½ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. ΠΠ° Π΄Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Π½Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
PREMIUM, ULTIMATE, SILVER, GOLD
Π‘ΡΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. Π‘Π΅Π³Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°Ρ, ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Ρ ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΠΊΠ°ΡΠΎ Π½Π°ΡΠΈΡΠ½Π°Ρ Π±ΡΡΠΎΠ½Π° Β«Add MetricΒ» (Β«ΠΠΎΠ±Π°Π²ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠ°Β») Π² Π³ΠΎΡΠ½ΠΈΡ Π΄Π΅ΡΠ΅Π½ ΡΠ³ΡΠ» Π½Π° ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³.
ΠΠ°Π΄Π°ΡΠΈ ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠΈΡ ΡΠ΅Π³Π° ΡΠ΅ ΠΎΡΠ²Π°ΡΡΡ ΠΎΡ ΠΈΠΌΠ΅ΡΠΎ Π½Π° GitLab Alert Bot
PREMIUM, ULTIMATE, SILVER, GOLD
Π‘Π΅Π³Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΡΠ²Π°ΡΡΡ ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠΈΡ, ΡΠ΅ ΠΈΠΌΠ°Ρ Π°Π²ΡΠΎΡ GitLab Alert Bot, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ΅ Π·Π°Π΄Π°ΡΠ°ΡΠ° Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡ Π²Π°ΠΆΠ½ΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅.
ΠΠ²ΡΠΎΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΈΠΈ Π½Π° Π΅ΠΏΠΈΠΊΠΈ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅
ULTIMATE, GOLD
ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΈΠΈΡΠ΅ Π½Π° Π΅ΠΏΠΈΠΊΠΈ Π½Π΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π° Π² Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΠ·ΡΠ΅Π·Π²Π°Ρ Π°, Π°ΠΊΠΎ Π½Π΅ Π³ΠΈ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΡΠ΅ ΡΠ²Π½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΈΡΡΠ° Π½Π° Π΅ΠΏΠΈΠΊ. Π GitLab 11.11 Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ ΠΎΠΏΡΠΈΡ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΈΠΈΡΠ΅ Π½Π° Π΅ΠΏΠΈΠΊΠΈ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΠ΅Π³Π° Π»Π΅ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ΡΠ΅ ΠΊΡΠΌ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΈΡΡΠ° Π½Π° Π΅ΠΏΠΈΠΊ, Π°ΠΊΠΎ ΠΈΠΌΠ° Π³ΡΠ΅ΡΠΊΠ°, Π²ΠΈΠ΅ ΡΡΠ΅ ΡΠ΅ ΡΠ°Π·ΡΠ΅ΠΉΠ²Π°Π»ΠΈ ΠΈΠ»ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΡΡΠ΅ Π·Π°ΡΠ²ΠΎΡΠΈΠ»ΠΈ Π±ΡΠ°ΡΠ·ΡΡΠ°.
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΎΡΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° GitLab Π·Π° Git LFS
STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD
Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΡΡΠ°Π·ΡΠ²Π°Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ°ΡΠ΅ Git Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΎΡ Π΅Π΄Π½ΠΎ ΠΌΡΡΡΠΎ Π½Π° Π΄ΡΡΠ³ΠΎ. Π’ΠΎΠ²Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° GitLab, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ Π½Π° Π΄ΡΡΠ³ΠΎ ΠΌΡΡΡΠΎ. Π‘Π΅Π³Π° GitLab ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΎΡΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Ρ Git LFS, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄ΠΎΡΠΈ Π·Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΡΡΠΈ Π·Π° ΠΈΠ³ΡΠΈ ΠΈΠ»ΠΈ Π½Π°ΡΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ.
ΠΡΠ°Π²Π° Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π·Π° Π»ΠΈΡΠ½ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΠ½ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΈΠΌΠ°Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ api, Π½ΠΎ ΠΏΡΠ»Π½ΠΈΡΡ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ API ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ°Π²Π° Π½Π° Π½ΡΠΊΠΎΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈΠ»ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ½ΠΎΡΠ° Π½Π° ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ°, ΡΠ΅Π³Π° Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠΌΠ°Ρ ΠΏΡΠ°Π²Π° ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ ΠΏΠΈΡΠ°Π½Π΅ Π·Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° Π½Π΅ ΠΏΠΎ-Π΄ΡΠ»Π±ΠΎΠΊ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ API Π΄ΠΎ ΡΠ°ΠΊΠΈΠ²Π° Π΄Π΅Π»ΠΈΠΊΠ°ΡΠ½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° GitLab, ΠΊΠ°ΡΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΡΠ»Π΅Π½ΡΡΠ²ΠΎ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ, Π₯ΠΎΡΠ°ΡΠΈΡ ΠΠ²Π³Π΅Π½ ΠΠ»Π°Π΄ ()!
ΠΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π³ΡΡΠΏΠΎΠ²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ GraphQL
ΠΠΠΠΠΠΠ’ΠΠ, ΠΠ ΠΠΠΠΠΠ, Π‘Π ΠΠΠ ΠͺΠ‘, ΠΠΠΠ’Π, Π―ΠΠ Π, Π‘Π’ΠΠ Π’ΠΠ , ΠΠ ΠΠΠΠ£Π, Π£ΠΠ’ΠΠΠΠ’
Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° GraphQL API ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ ΡΠΎΡΠ½ΠΎ Π΄Π° ΡΡΠΎΡΠ½ΡΠ²Π°Ρ ΠΊΠ°ΠΊΠ²ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈΠΌ ΡΡΡΠ±Π²Π°Ρ ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ Π²ΡΠΈΡΠΊΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π΄Π°Π½Π½ΠΈ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ ΡΠΎΠ²Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, GitLab ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π³ΡΡΠΏΠ°ΡΠ° Π² GraphQL API.
ΠΡ ΠΎΠ΄ Ρ Π΄Π°Π½Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΎΡ Salesforce
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
GitLab ΠΎΠ±ΠΈΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Salesforce ΠΈ, Π·Π° Π΄Π° ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠΈ ΡΠ°Π·ΠΈ ΠΎΠ±ΡΠ½ΠΎΡΡ, Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΌΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΄Π° Π²Π»ΠΈΠ·Π°Ρ Π² GitLab Ρ Π΄Π°Π½Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΎΡ Salesforce.com. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π² ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½ GitLab ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΎ ΡΡΡ Salesforce, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Salesforce.com Π·Π° Π²Π»ΠΈΠ·Π°Π½Π΅ Π² GitLab Ρ Π΅Π΄Π½ΠΎ Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅.
SAML SSO ΡΠ΅Π³Π° Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π΅Π½ Π·Π° ΡΠ΅Π± Π΄ΠΎΡΡΡΠΏ
PREMIUM, ULTIMATE, SILVER, GOLD
ΠΠΈΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ Π³ΡΡΠΏΠΈ, Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ Π² Π²Π΅ΡΡΠΈΡ 11.8, Ρ ΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° Π³ΡΡΠΏΠ°ΡΠ° ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π·Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ Π΄ΠΎΡΡΡΠΏ ΡΠ°ΠΌΠΎ ΡΡΠ΅Π· SAML. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΡΠ»ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅Π½ΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ GitLab.com ΡΡΠ΅Π· SAML SSO. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ SSO Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅, Π·Π½Π°Π΅ΠΉΠΊΠΈ, ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π²ΡΠ² Π²Π°ΡΠ°ΡΠ° Π³ΡΡΠΏΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ SSO.
Π€ΠΈΠ»ΡΡΠ°ΡΠΈΡ ΠΏΠΎ Π½Π°ΡΠΊΠΎΡΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° API Π½Π° Π΅ΠΏΠΈΠΊΠΈ
ULTIMATE, GOLD
ΠΡΠ΅Π΄ΠΈ Π±Π΅ΡΠ΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΈΡΠΊΠ°Ρ Π½Π°ΡΠΊΠΎΡΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· API Π½Π° Π΅ΠΏΠΈΠΊΠΈ Π² GitLab. Π Π²Π΅ΡΡΠΈΡ 11.11 Π΄ΠΎΠ±Π°Π²ΠΈΡ
ΠΌΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠΈΠ»ΡΡΠΈ created_after, created_before, Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ_ΡΠ»Π΅Π΄ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ_ΠΏΡΠ΅Π΄ΠΈ, Π·Π° Π΄Π° ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ API Π½Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅ ΠΈ Π±ΡΡΠ·ΠΎ Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ ΠΈΠ»ΠΈ Π½Π°ΡΠΊΠΎΡΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π΅ΠΏΠΈΠΊΠΈ.
ΠΠΈΠΎΠΌΠ΅ΡΡΠΈΡΠ½Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Ρ UltraAuth
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ° Π² Π±ΠΈΠΎΠΌΠ΅ΡΡΠΈΡΠ½Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π±Π΅Π· ΠΏΠ°ΡΠΎΠ»Π°. Π‘Π΅Π³Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π² GitLab!
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠΈΠΌ Π²ΠΈ, ΠΠ°ΡΡΠΈΠΊΠΈ Π’Π°Π½Π½Π° ()!
GitLab Runner 11.11
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΠ½Π΅Ρ ΠΏΡΡΠ½Π°Ρ ΠΌΠ΅ GitLab Runner 11.11! GitLab Runner Π΅ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° CI/CD Π·Π°Π΄Π°Π½ΠΈΡ ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² GitLab.
ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Omnibus
CORE, STARTER, PREMIUM, ULTIMATE
ΠΠ°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Omnibus Π² GitLab 11.11:
- GitLab 11.11 Π²ΠΊΠ»ΡΡΠ²Π° β , Π² Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΈ Π΅ΡΠΈΠΌΠ΅ΡΠ½ΠΈ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ. Π’Π°Π·ΠΈ Π²Π΅ΡΡΠΈΡ ΡΡΠ΄ΡΡΠΆΠ° , ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ.
- .
ΠΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡ Π΅ΠΌΠΈΡΠ΅
CORE, STARTER, PREMIUM, ULTIMATE
ΠΠ°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Helm-ΡΠ°ΡΡΠΎΠ²Π΅ΡΠ΅ Π² GitLab 11.11:
- Π GitLab 11.11 ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° .
- ΠΠ° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ , Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ
memoryKiller,maxRss,graceTimeΠΈshutdownWait. - Helm-ΡΠ°ΡΡΠΎΠ²Π΅ΡΠ΅ ΡΠ΅Π³Π° Π² Amazon Elastic Container Service Π·Π° Kubernetes ()
ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΠΌΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° GitLab Ρ Π²ΡΡΠΊΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ Π½Π° GitLab Ρ Π²ΡΡΠΊΠ°ΠΊΡΠ² ΡΠ°Π·ΠΌΠ΅Ρ. ΠΡΠΊΠΎΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² GitLab 11.11:
Π£ΡΡΠ°ΡΠ΅Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
GitLab Geo ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ Ρ Π΅ΡΠΈΡΠ°Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² GitLab 12.0
GitLab Geo Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π·Π° ΡΠΌΠ΅ΠΊΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡΡΠ° Π½Π° Π²ΡΠΎΡΠΈΡΠ½ΠΈ Π²ΡΠ·Π»ΠΈ. Π’ΠΎΠ²Π° Π±Π΅ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΎ Π² .
Π GitLab Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ ΡΠΎΠ²Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π½Π° Geo: .
Π GitLab sudo gitlab-rake gitlab:geo:check ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ Ρ
Π΅ΡΠΈΡΠ°Π½ΠΎΡΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈ Π΄Π°Π»ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΡΠ΅ ΠΏΡΠ΅Ρ
Π²ΡΡΠ»ΡΡ. ΠΠΈΠΆΡΠ΅ . ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Geo, ΠΌΠΎΠ»Ρ, ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°Π·ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ ΠΌΠΈΠ³ΡΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-ΡΠΊΠΎΡΠΎ.
Π GitLab ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΡΠΊΠ»ΡΡΠ²Π°Π΅ΠΌΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΠ΄ΠΌΠΈΠ½ Π·ΠΎΠ½Π° βΊ Geo βΊ ΠΡΠ·Π»ΠΈ, Π°ΠΊΠΎ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π΅ ΡΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ. .
Π GitLab Geo ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π·Π° Ρ Π΅ΡΠΈΡΠ°Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΈΠΆΡΠ΅ .
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 ΡΠ½ΠΈ 2019 Π³.
GitLab Geo ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° PG FDW Π² GitLab 12.0
Π’ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° Geo Log Cursor, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ²ΠΈΡΠ°Π²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π½ΡΠΊΠΎΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΡΠ°ΡΡΡΠ° Π½Π° Geo Π²ΡΠ·Π»ΠΈΡΠ΅ ΡΡΡΠΎ ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°. ΠΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΠΈΠΌΠ°Ρ Π° ΡΠ²ΡΡΠ΄Π΅ Π½ΠΈΡΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ. ΠΠΈΠΆΡΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΡΠΎΠ²Π° Π² . Π GitLab Geo ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° PG FDW. ΠΠΈΠΆΡΠ΅ .
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 ΡΠ½ΠΈ 2019 Π³.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° Sentry Π·Π° ΠΎΡΡΠ΅ΡΠΈ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π»ΠΎΠ³ΠΈΡΠ°Π½Π΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π² GitLab 12.0
Π’Π΅Π·ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π°ΡΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π² GitLab 12.0 ΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π½Π°Π»ΠΈΡΠ½ΠΈ Π² ΡΠ°ΠΉΠ»Π° gitlab.yml. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΡΠ΅Π΄Π° Sentry, Π·Π° Π΄Π° ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄Π΅ΠΏΠ»ΠΎΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³ ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ. ΠΠΈΠΆΡΠ΅ .
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 ΡΠ½ΠΈ 2019 Π³.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡ Π±ΡΠΎΠΉ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈ, ΡΡΠ·Π΄Π°Π²Π°Π½ΠΈ ΠΎΡ Π΅Π΄Π½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅
ΠΡΠ΅Π΄ΠΈ GitLab ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈ Π·Π° HEAD Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΊΠ»ΠΎΠ½ Π² ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ. Π’ΠΎΠ²Π° Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π½Π°ΠΊΡΠΏ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠ»ΠΎΠ½ Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π² ΠΊΠ»ΠΎΠ½ develop).
ΠΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π³ΠΎΠ»ΡΠΌΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΊΡΠ΄Π΅ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅, ΠΎΡΡΠ°Π·ΡΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅), Π½Π΅ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΊΠ»ΠΎΠ½. ΠΡ GitLab 11.10 Π½ΠΈΠ΅ ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅.
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 ΠΌΠ°ΠΉ 2019 Π³.
Π£ΡΡΠ°ΡΠ΅Π»ΠΈ ΠΏΡΡΠΈΡΠ° Π½Π° Π½Π°ΡΠ»Π΅Π΄ΡΡΠ²Π΅Π½ ΠΊΠΎΠ΄ Π² GitLab Runner
ΠΡ GitLab 11.9 GitLab Runner ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ»ΠΎΠ½ΠΈΡΠ°Π½Π΅/ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° 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 Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠ°ΡΠΎ ΠΈ .
Π 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 ΠΈ ΠΏΠΎΡΡΠ°Π²Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΡΠ»Π΅Π΄ ΡΡΡΠΏΠΊΠ°ΡΠ° Π½Π° ΡΠ°Π·ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅. . ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π½ΠΎΠ²Π°ΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΎΠ²Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΡΠ΅Π³Π½Π΅ Π½ΡΠΊΠΎΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΡ
ΠΌΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ°
FF_USE_LEGACY_GIT_CLEAN_STRATEGY . ΠΠΊΠΎ Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΡΡ ΡΠ΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ legacy-ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΡΠ° Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅. ΠΠΎΠ²Π΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π² GitLab Runner ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ trueΠ² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° .
Π GitLab Runner 12.0 ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΠΌ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° legacy-ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΡΠ° Π·Π° ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° Ρ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ°. ΠΠΈΠΆΡΠ΅ Π² .
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 ΡΠ½ΠΈ 2019 Π³.
ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ ΡΠ°ΠΌΠΎ Π·Π° ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Silver/Premium
ΠΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ Π³ΡΡΠΏΠ° Π² Π²Π΅ΡΡΠΈΡ 11.6, ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π·Π° Premium/Silver Π΄ΠΎΡΡΡΠΏΠ½Π° Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅.
ΠΠΈΠ΅ Π² Π²Π΅ΡΡΠΈΡ 11.11 ΠΈ Π΄Π°Π²Π°ΠΌΠ΅ ΠΎΡΠ΅ 3 ΠΌΠ΅ΡΠ΅ΡΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ ΠΏΠΎΠ΄ Π½ΠΈΠ²ΠΎΡΠΎ Silver/Premium.
ΠΡ 22 Π°Π²Π³ΡΡΡ 2019 Π³. ΡΠ°Π±Π»ΠΎΠ½ΠΈΡΠ΅ Π½Π° Π³ΡΡΠΏΠΎΠ²ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π½Π°Π»ΠΈΡΠ½ΠΈ ΡΠ°ΠΌΠΎ Π·Π° ΠΏΠ»Π°Π½Π° Silver/Premium ΠΈ Π½Π°Π³ΠΎΡΠ΅, ΠΊΠ°ΠΊΡΠΎ Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ°.
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 Π°Π²Π³ΡΡΡ 2019 Π³.
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈ Π·Π°Π΄Π°Π½ΠΈΡ Π·Π° Windows Π΅ ΡΠΏΡΡΠ½Π°
Π GitLab 13.0 (22 ΡΠ½ΠΈ 2020 Π³.) ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈ Π·Π°Π΄Π°Π½ΠΈΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ Π½Π° Windows Π² GitLab Runner (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, cmd.exe) Π² ΠΏΠΎΠ»Π·Π° Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Windows PowerShell. ΠΠΎΠ²Π΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² .
Π‘Π΅Π³Π° Π½Π°ΡΠ΅ΡΠΎ Π²ΠΈΠΆΠ΄Π°Π½Π΅ Π·Π° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈΡ DevOps ΡΠ΅ ΠΎΡΡΠ°Π·ΡΠ²Π° ΠΏΠΎΠ·ΠΈΡΠΈΡΡΠ° Π½Π° Microsoft, ΡΠ΅ PowerShell Π΅ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Windows ΡΡΠ΅Π΄ΠΈ. ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ cmd.exe, ΡΠ΅Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ ΠΎΡ PowerShell, Π½ΠΎ Π½ΡΠΌΠ° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈ Π·Π°Π΄Π°Π½ΠΈΡ Π·Π° Windows ΠΏΠΎΡΠ°Π΄ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½Π΅ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π²ΠΎΠ΄ΡΡ Π΄ΠΎ Π²ΠΈΡΠΎΠΊΠΈ ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈ Π·Π° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°.
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 ΡΠ΅ΠΏΡΠ΅ΠΌΠ²ΡΠΈ 2019 Π³.
ΠΠ·ΠΈΡΠΊΠ²Π° ΡΠ΅ Git 2.21.0 ΠΈΠ»ΠΈ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° Π²Π΅ΡΡΠΈΡ
ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ GitLab 11.11, Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Git 2.21.0. , Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ Ρ ΠΏΠΎ-ΡΡΠ°ΡΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Git ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΡΡ.
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 ΠΌΠ°ΠΉ 2019 Π³.
Π£ΡΡΠ°ΡΡΠ» ΡΠ°Π±Π»ΠΎΠ½ Π½Π° Kubernetes ΡΡΠ»ΡΠ³Π°
Π GitLab 12.0 ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½Π° Π½Π° Kubernetes ΡΡΠ»ΡΠ³Π° Π² ΠΏΠΎΠ»Π·Π° Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° Π½ΠΈΠ²ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½Π° Π² GitLab 11.11.
ΠΡΠΈΡΠΊΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ Ρ ΠΎΡΡΠ²Π°Π½ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°Π±Π»ΠΎΠ½Π° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ Π½Π° Π½ΠΈΠ²ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ ΠΏΡΠΈ ΡΠΏΠ³ΡΠ΅ΠΉΠ΄ Π΄ΠΎ GitLab 12.0.
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 ΡΠ½ΠΈ 2019 Π³.
ΠΡΠΊΠ°Π· ΠΎΡ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π΅ΡΠΈΠΊΠ΅Ρ app Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈΡΠ΅ Π·Π° Π΄Π΅ΠΏΠ»ΠΎΠΉ Π½Π° Kubernetes
Π GitLab 12.0 ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΡ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎ Π΅ΡΠΈΠΊΠ΅Ρ app Π² ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° Π·Π° Π΄Π΅ΠΏΠ»ΠΎΠΉ Π½Π° Kubernetes. Π GitLab 11.10 Π²ΡΠ²Π΅Π΄ΠΎΡ
ΠΌΠ΅ , ΠΊΠΎΠΉΡΠΎ ΡΡΡΡΠΈ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΏΠΎ app.example.com/app ΠΈ app.example.com/env, Π·Π° Π΄Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π° Π΄Π΅ΠΏΠ»ΠΎΠΉ Π½Π° ΠΏΠ°Π½Π΅Π»Π°.
ΠΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ°Ρ ΡΠ΅Π·ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈΡΠ΅ Π·Π° Π΄Π΅ΠΏΠ»ΠΎΠΉ, ΠΏΡΠΎΡΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠΈ Π½ΠΎΠ² Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΈ GitLab ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈ Π½ΠΎΠ²ΠΈΡΠ΅ Π΅ΡΠΈΠΊΠ΅ΡΠΈ.
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 ΡΠ½ΠΈ 2019 Π³.
ΠΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° GitLab 12.0 ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ²Π°Π½ΠΈ Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ ΠΏΠΎΠ΄ΠΏΠΈΡ.
2 ΠΌΠ°ΠΉ 2019 Π³ΠΎΠ΄ΠΈΠ½Π° GitLab Omnibus GitLab ΠΎΡ 01.08.2019 Π΄ΠΎ 01.07.2020. ΠΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅, ΠΏΡΠΎΡΡΠΎ ΡΠ»Π΅Π΄Π²Π°ΠΉΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ Π² .
ΠΠ°ΡΠ° Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅: 22 ΡΠ½ΠΈ 2019 Π³.
ΠΡΡΠ½Π°Π» Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅
Π’ΡΡΡΠ΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΆΡΡΠ½Π°Π»Π° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅:
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π°
ΠΠΊΠΎ Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΡΠ΅ Π½ΠΎΠ²Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° GitLab, ΠΏΠΎΡΠ΅ΡΠ΅ΡΠ΅ .
ΠΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
β ΠΠΎΡΠ΅ΡΠ΅ΡΠ΅
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
