ΠΡΡΠ½Π°ΡΠΎ Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ 13.4 Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° HashiCorp Π·Π° CI ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Kubernetes Agent ΠΈ ΡΠ΅Π½ΡΡΡ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π΅ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Starter
Π GitLab Π²ΠΈΠ½Π°Π³ΠΈ ΠΌΠΈΡΠ»ΠΈΠΌ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΄Π° Π½Π°ΠΌΠ°Π»ΡΡ ΡΠΈΡΠΊΠ°, Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΡ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° ΠΈ Π΄Π° Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ Π½Π° Π»ΡΠ±ΠΈΠΌΠ°ΡΠ° Π²ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. Π’ΠΎΠ·ΠΈ ΠΌΠ΅ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ°Ρ ΠΎΡΠ½ΠΈ Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Ρ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°, Π½Π°ΠΌΠ°Π»ΡΠ²Π°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅, ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Ρ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ°, ΠΏΡΠ°Π²ΡΡ GitLab ΠΏΠΎ-Π»Π΅ΡΠ΅Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΈ ΠΏΠΎΠΌΠ°Π³Π°Ρ Π½Π° Π²Π°ΡΠΈΡ Π΅ΠΊΠΈΠΏ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠ΅ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ. ΠΠ°Π΄ΡΠ²Π°ΠΌΠ΅ ΡΠ΅, ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ Π²ΠΈ Π±ΡΠ΄Π°Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ 53 Π΄ΡΡΠ³ΠΈ Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈΠ΄ΠΎΠ±Π°Π²Π΅Π½ Π² ΡΠΎΠ²Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅.
Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
ΠΠΏΠΈΡΠ²Π°ΠΌΠ΅ ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΡΠΌ GitLab DevSecOps Π²ΡΠ΅ΠΊΠΈ ΠΌΠ΅ΡΠ΅Ρ ΠΈ ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ Π½Π΅ Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΡΠ³ Π½Π°ΡΠΈΠ½ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΡΠΊΠ° Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ
ΠΠΎ-ΡΠ΄ΠΎΠ±Π½Π° ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ GitLab
ΠΠΎΠ΄ΠΎΠ±ΡΠΈΡ
ΠΌΠ΅ Π½Π°ΡΠ΅ΡΠΎ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ ΡΡΡΡΠ΅Π½Π΅, ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ
ΠΌΠ΅
ΠΡΠΈΠ½ΠΎΡΠΈ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄
ΠΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°ΠΌΠ΅
Π ΡΠΎΠ²Π° Π΅ ΡΠ°ΠΌΠΎ Π½Π°ΡΠ°Π»ΠΎΡΠΎ!
ΠΠ°ΠΊΡΠΎ Π²ΠΈΠ½Π°Π³ΠΈ, ΠΈΠΌΠ° ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΌΡΡΡΠΎ Π² ΠΎΠ±ΡΠΈΡ ΠΏΡΠ΅Π³Π»Π΅Π΄ ΠΈ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ°Ρ ΠΎΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ² Π²Π΅ΡΡΠΈΡ 13.4. ΠΡΠΎ ΠΎΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ:
ΠΡΠ΅Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΡΠΏΠΈΡΡΠΊ Ρ Π»ΠΈΡΠ½ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΈ Π³ΠΈ ΠΎΡΠΌΠ΅Π½Π΅ΡΠ΅ ΡΡΠ΅Π· API ΠΡΠΌΠ΅Π½Π΅ΡΠ΅ Π»ΠΈΡΠ½ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π·Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΠ°ΡΠΊΠΈΡΠ°ΠΉΡΠ΅ Π·Π°Π²ΡΡΡΠ΅Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ (Π² ΡΡΡΠΊΠ°ΡΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° GitLab "ΠΌΠΎΠ½ΡΠ°ΠΆΠ½ΠΈ Π»ΠΈΠ½ΠΈΠΈ") Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΌΠ°ΡΡ ΠΊΠ°ΡΡΠ° Π·Π° Helm chart GitLab .
ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π·Π½Π°Π΅ΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π²ΠΈ ΠΎΡΠ°ΠΊΠ²Π° Π² ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅, Π²ΠΈΠΆΡΠ΅
MVP ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠ΅Ρ - Π€Π°Π±ΠΈΠΎ Π₯ΡΡΠ΅Ρ
Π€Π°Π±ΠΈΠΎ Π΄ΠΎΠΏΡΠΈΠ½Π΅ΡΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ
ΠΡΠ½ΠΎΠ²Π½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ GitLab 13.4
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ HashiCorp Vault Keys Π² CI Jobs
(PREMIUM, ULTIMATE, SILVER, GOLD)
ΠΡΠ² Π²Π΅ΡΡΠΈΡ 12.10 GitLab Π²ΡΠ²Π΅Π΄Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΊΡΠΌ CI Π·Π°Π΄Π°Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠ° Π½Π° Π·Π°Π΄Π°Π½ΠΈΡ GitLab (GitLab runner). Π‘Π΅Π³Π° ΡΠ΅ ΡΠ°Π·ΡΠΈΡΡΠ²Π°ΠΌΠ΅ secrets
Π΄Π° ΠΏΠΎΠ΄Π°Π΄Π΅ .gitlab-ci.yml
. Π’ΠΎΠ²Π° ΡΠ΅ ΡΠ»Π΅ΡΠ½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° HashiCorp Ρ GitLab.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΠΌΠ΅ Π²ΠΈ GitLab Kubernetes Agent
(PREMIUM, ULTIMATE)
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ° Π½Π° GitLab Ρ Kubernetes ΠΎΡΠ΄Π°Π²Π½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Kubernetes ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΡΡΡΠ½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. ΠΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Ρ Π°ΡΠ΅ΡΠ°Ρ Π° Π»Π΅ΠΊΠΎΡΠ°ΡΠ° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ, Π΄ΠΎΠΊΠ°ΡΠΎ Π΄ΡΡΠ³ΠΈ ΡΡΠ΅ΡΠ½Π°Ρ Π° Π½ΡΠΊΠΎΠΈ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ. ΠΠ° ΡΠ΅ΠΊΡΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π²Π°ΡΠΈΡΡ ΠΊΠ»ΡΡΡΠ΅Ρ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΠ°ΠΊΠ° ΡΠ΅ GitLab Π΄Π° ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π½Π΅Π³ΠΎ. ΠΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ²Π° Π½Π΅ Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΠΌΠΎ, Π·Π°ΡΠΎΡΠΎ ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Ρ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ ΠΎΡ ΡΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π³ΡΠ»Π°ΡΠΎΡΠ½ΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ. ΠΠ° Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΡ ΡΠ΅Π·ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΡΡ ΡΠ²ΠΎΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π²ΡΡΡ Ρ GitLab, Π² ΠΏΡΠΎΡΠΈΠ²Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ Π½ΡΠΌΠ°ΡΠ΅ Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠ½Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠΌΠ΅ GitLab Kubernetes Agent, Π½ΠΎΠ² Π½Π°ΡΠΈΠ½ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π½Π° Kubernetes. ΠΠ³Π΅Π½ΡΡΡ ΡΠ°Π±ΠΎΡΠΈ Π²ΡΠ² Π²Π°ΡΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ, ΡΠ°ΠΊΠ° ΡΠ΅ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π³ΠΎ ΠΈΠ·Π»Π°Π³Π°ΡΠ΅ Π½Π° ΡΠ΅Π»ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ. ΠΠ³Π΅Π½ΡΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½ΠΈΡΠ° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π½ΠΎΠ²ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡ GitLab, Π²ΠΌΠ΅ΡΡΠΎ GitLab Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠ°. ΠΠ΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΉ GitOps ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅, GitLab Π΅ ΡΠΎΡΠ½ΠΎ Π·Π° Π²Π°Ρ.
ΠΠΎΠ»Ρ, ΠΈΠΌΠ°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄, ΡΠ΅ ΡΠΎΠ²Π° Π΅ ΠΏΡΡΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π°Π³Π΅Π½ΡΠ°. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΌΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ°Π»ΠΈ GitLab Kubernetes Agent Π²ΡΡΡ
Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ ΡΡΠ΅Π· ΠΊΠΎΠ΄. ΠΡΠΊΠΎΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ Π½Π° Kubernetes, ΠΊΠ°ΡΠΎ ΡΠ°Π±Π»Π° Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΈ ΠΎΡ GitLab ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ.
ΠΠ°ΠΉΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π±Π΅Π· Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΊΠΎΠ΄
(PREMIUM, ULTIMATE, SILVER, GOLD)
ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² GitLab Π½Π΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ΅ Π΄Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡΠΈΡΠ΅ Π²ΡΠ² Π²Π°ΡΠΈΡ Π΅ΠΊΠΈΠΏ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°, ΠΈ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ. Π‘ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° GitLab 13.4 ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° Ρ ΠΎΡΠ°, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΏΠΈΡΠ°Ρ ΠΊΠΎΠ΄, ΠΊΠ°ΡΠΎ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅ ΠΈΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ (Π² ΡΡΡΠΊΠ°ΡΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° GitLab, βΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ").
Π¦Π΅Π½ΡΡΡ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
(ΠΠ ΠΠΠ, ΠΠΠΠ’ΠΠ)
ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ Π±Π΅ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΠΊΠ°ΠΊΡΠΎ Π²ΡΠ² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°, ΡΠ°ΠΊΠ° ΠΈ Π² Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡΡΠ°. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ Π±Π΅ΡΠ΅ Π΅Π΄Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°, ΠΊΠΎΡΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ°, Π³ΡΠ°ΡΠΈΠΊΠΈ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΡΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΡΡΡΠΎ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄ΡΡΠ³ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
ΠΠ°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π² GitLab. ΠΠ°Π½Π΅Π»ΡΡ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ°Π½ Π² ΡΡΠ» ΡΠ΅Π½ΡΡΡ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ. ΠΠ°ΠΉ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π΅ Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²Π° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΠΌΠ΅Π½ΡΡΠΎ: Π²ΠΌΠ΅ΡΡΠΎ Π΅Π΄Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°, ΡΠ΅Π³Π° Π²ΠΈΠΆΠ΄Π°ΡΠ΅ ΠΏΠ°Π½Π΅Π»Π° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°, Π΄ΠΎΠΊΠ»Π°Π΄Π° Π·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΠ΅ΠΊΡΠΈΡΡΠ° Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΎ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π΅ ΡΠ΅ Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»Π°, ΡΠ°Π·Π±ΠΈΠ²Π°Π½Π΅ΡΠΎ ΠΉ ΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΠ·ΠΈ ΡΠ°Π·Π΄Π΅Π», ΠΊΠΎΠΈΡΠΎ ΠΈΠ½Π°ΡΠ΅ Π±ΠΈΡ Π° Π±ΠΈΠ»ΠΈ ΡΡΡΠ΄Π½ΠΈ. Π’ΠΎΠΉ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΡΡΠ°Π²Ρ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° Π΄ΡΡΠ³ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°, ΠΊΠΎΠΈΡΠΎ Π΄Π° Π±ΡΠ΄Π°Ρ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π² Π±ΡΠ΄Π΅ΡΠ΅.
Π‘ΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π» Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π²Π°Π½Π΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π²Π΅ΡΠ΅ ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΡΡΡΠΎ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π²Π°ΠΆΠ½ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ. Π’ΡΠΊ ΡΠ΅ ΡΡΠ±ΠΈΡΠ°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ° Π² ΡΠΏΠΈΡΡΠΊΠ° Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΆΠ°Π΄ΠΆΠΈ Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ°Π·Π΄Π΅Π» ΡΡΠ·Π΄Π°Π²Π° ΡΠ΄ΠΎΠ±Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ ΠΏΠ°Π½Π΅Π» Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ. Π‘Π΅Π³Π° ΡΠΎΠ²Π° Π΅ ΠΏΠ»Π°ΡΠ½ΠΎ Π·Π° Π±ΡΠ΄Π΅ΡΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ - Π½Π΅ ΡΠ°ΠΌΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, Π½ΠΎ ΠΈ Π·Π° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°. Π Π½Π°ΠΊΡΠ°Ρ, ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° Π·ΠΎΠ½Π° Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠ·Π΄Π°Π²Π° ΠΎΠ±ΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Π½ΠΈΠ²ΠΎ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ, Π° Π½Π΅ ΡΠ°ΠΌΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°ΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π΅ΡΠ΅ ΡΠ° Π² GitLab Starter
(Π‘Π’ΠΠ Π’ΠΠ , ΠΠ ΠΠΠΠ£Π, ΠΠ ΠΠΠΠ, ΠΠ ΠΠΠ, Π‘Π ΠΠΠ Π, ΠΠΠΠ’Π)
GitLab 11.4 Π±Π΅ΡΠ΅ ΠΏΡΡΠ½Π°Ρ
ΠΠΎ-ΡΠ°Π½ΠΎ ΡΠ°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° GitLab ΡΠ΅ Π°Π½Π³Π°ΠΆΠΈΡΠ° Π΄Π°
ΠΡΡΠ·Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΎΡ Π»Π΅Π½ΡΠ°ΡΠ° Π·Π° ΡΡΡΡΠ΅Π½Π΅
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΎΠ½ΡΠΊΠΎΠ³Π°, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π°Π²ΠΈΠ³ΠΈΡΠ°ΡΠ΅ ΠΏΡΠ΅Π· GitLab, ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΎ ΠΊΡΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Ρ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ.
Π‘ Π³Π»ΠΎΠ±Π°Π»Π½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π·Π° ΡΡΡΡΠ΅Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΠ·ΠΎ Π΄Π° Π½Π°Π²ΠΈΠ³ΠΈΡΠ°ΡΠ΅ Π΄ΠΎ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ»Π΅ΡΠΈ, Π³ΡΡΠΏΠΈ, ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΡΠ΅ΠΌΠΈ Π·Π° ΠΏΠΎΠΌΠΎΡ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΡΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠ½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ /
Π·Π° Π΄Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΡΡΡΠΎΡΠ° Π² Π»Π΅Π½ΡΠ°ΡΠ° Π·Π° ΡΡΡΡΠ΅Π½Π΅, Π·Π° Π΄Π° Π½Π°Π²ΠΈΠ³ΠΈΡΠ°ΡΠ΅ GitLab ΠΎΡΠ΅ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ!
ΠΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π² ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅ Π² ΠΈΡΠΊΠ°Π½ΠΈΡΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π΄Π°Π»ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π΅ ΠΎΠ±Ρ Π²Π°Π½Π°Ρ ΠΎΡ ΡΠ΅ΡΡΠΎΠ²Π΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½Π·Π΅Π½ΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ°Π·ΡΠΈΡΠ°Ρ Π½Π° ΡΡΠ»ΠΎΡΡΠ½ΠΎΡΠΎ ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ ΠΈ Π΄Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΡΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΎ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΎΠ΄ΠΎΠ±ΡΡΡ ΠΈΡΠΊΠ°Π½Π΅ΡΠΎ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Ρ Π°ΠΎΡΠΈΡΠ΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π·Π° ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅, ΠΊΠΎΠΉΡΠΎ Π²ΡΡΡΠ½ΠΎΡΡ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΠ°.
Π‘Π΅Π³Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ diff Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, ΡΠ΅ Π²ΠΈΠ΄ΠΈΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π°. ΠΠΎΠ²ΠΈΡΠ΅ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π»ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π΅ ΠΎΠ±Ρ Π²Π°Π½Π°Ρ ΠΎΡ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅Π½ ΡΠ΅ΡΡ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ΄Π° ΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΎΠ² ΠΊΠΎΠ΄.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ
ΠΡΠ΅ ΡΡΠ΅Π΄ΠΈ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² ΠΏΠ°Π½Π΅Π»Π° Π·Π° ΡΡΠ΅Π΄ΠΈ
(PREMIUM, ULTIMATE, SILVER, GOLD)
ΠΡ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° GitLab 12.5 Ρ
GitLab ΠΏΠΎΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π°Π΄ GitLab Terraform Provider
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠ°ΡΠΊΠΎΡΠΎ Π½ΠΈΠ΅
Π’Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° Fuzz API ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° OpenAPI ΠΈΠ»ΠΈ HAR ΡΠ°ΠΉΠ»
(ΠΠ ΠΠΠ, ΠΠΠΠ’ΠΠ)
API fuzz ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π΅ ΡΡΠ΄Π΅ΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ² Π²Π°ΡΠΈΡΠ΅ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ API, ΠΊΠΎΠΈΡΠΎ Π΄ΡΡΠ³ΠΈ ΡΠΊΠ΅Π½Π΅ΡΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠΏΡΡΠ½Π°Ρ.
Fuzzing API ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π² GitLab Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΠ΅
Π’ΠΎΠ²Π° Π΅ ΠΏΡΡΠ²ΠΎΡΠΎ Π½ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° API Π·Π° ΡΠ°Π·ΠΌΠΈΠ²Π°Π½Π΅ ΠΈ ΡΠ΅ ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΌΠ΅ Π΄Π° ΡΡΠ΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΈΡΠ»ΠΈΡΠ΅. ΠΠ° Fuzzing ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΡΠ΅ Π½Π° ΡΠΊΠ»Π°Π΄
ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ Π½ΠΎΠ²ΠΈΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ Π² ΠΏΠ°Π½Π΅Π»Π° Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Π ΠΌΠΈΠ½Π°Π»ΠΎΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ° Π² ΡΠ°Π±Π»ΠΎΡΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ Π² GitLab Π±Π΅ΡΠ΅ ΡΡΡΠ΄Π½Π° Π·Π°Π΄Π°ΡΠ°. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΡΠ΅ ΡΡΠ·Π΄Π°Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π² YAML ΡΠ°ΠΉΠ»Π° Π½Π° ΠΏΠ°Π½Π΅Π»Π°, ΡΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² master
, Π±Π΅Π· Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ Π΄Π°Π»ΠΈ ΡΠΎΠΊΡ-ΡΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½Π°ΡΠ° Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎΡΠ½ΠΎ ΠΊΠ°ΠΊΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅. ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ°, ΠΊΠ°ΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π° Π·Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ°, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² .yaml ΡΠ°ΠΉΠ»Π° Π½Π° ΠΏΠ°Π½Π΅Π»Π°.
ΠΠ°Π½Π½ΠΈ Π·Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° Ρ ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° Π³ΡΡΠΏΠ°ΡΠ°
(PREMIUM, ULTIMATE, SILVER, GOLD)
ΠΠΎΠ³Π°ΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π² GitLab, ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ. ΠΡΠ΅Π΄ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ΅ Π΄ΠΎΡΠ°Π΄Π½Π° ΠΈ ΠΎΡΠ½Π΅ΠΌΠ°ΡΠ° Π²ΡΠ΅ΠΌΠ΅ ΡΡΡΠ½Π° ΡΠ°Π±ΠΎΡΠ°: ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° ΠΎΡ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π΄Π° Π³ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ°.
ΠΡΠ² Π²Π΅ΡΡΠΈΡ 13.4 ΡΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅ΡΠ½ΠΎ ΠΈ Π±ΡΡΠ·ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π² .csv
Π°ΡΡ
ΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° Π³ΡΡΠΏΠ°ΡΠ° ΠΈΠ»ΠΈ Π·Π° ΠΈΠ·Π±ΡΠ°Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ. Π’Π°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π΅ MVC, ΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π²Π°Π½Π° ΠΎΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ°
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ Π΅Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠ»Π½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° fuzz
(ΠΠ ΠΠΠ, ΠΠΠΠ’ΠΠ)
Π’Π°Π·ΠΈ Π²Π΅ΡΡΠΈΡ Π²ΡΠ²Π΅ΠΆΠ΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½ΠΎΠ²ΠΈ Π΅Π·ΠΈΠΊΠ° Π·Π° fuzz ΡΠ΅ΡΡΠ²Π°Π½Π΅, Π½Π°ΡΠΎΡΠ΅Π½ΠΎ ΠΊΡΠΌ ΠΏΡΠ»Π½ΠΎ ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅.
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΡΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° fuzz ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π²ΡΠ² Π²Π°ΡΠΈΡΠ΅ Java, Rust ΠΈ Swift ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄Π° ΠΎΡΠΊΡΠΈΠ΅ΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π΄ΡΡΠ³ΠΈ ΡΠΊΠ΅Π½Π΅ΡΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠΏΡΡΠ½Π°Ρ.
ΠΠ·Π²Π΅ΡΡΠΈΡ Π½Π° Π³Π»Π°Π²Π½Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π° ΡΡΠ΅Π΄ΠΈ
(PREMIUM, ULTIMATE, SILVER, GOLD)
Π‘ΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΎΠ±ΡΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Π²Π°ΡΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ. Π ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈΡ ΠΌΠ΅ ΡΠ°Π·ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°, ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ. ΠΠ°Π΄Π΅ΠΉΡΡΠ²Π°Π½ΠΈΡΠ΅ ΡΠΈΠ³Π½Π°Π»ΠΈ Π·Π°Π΅Π΄Π½ΠΎ ΡΡΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π²Π°ΡΠΈΡΠ΅ ΡΡΠ΅Π΄ΠΈ ΡΠ΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π΄Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ΅ΠΌΠ΅ΡΠ΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ.
ΠΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ, ΡΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π½ΠΎΠ²ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ Π² Π΄ΡΡΠ΅ΡΠ½ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π΄ΡΠ»Π±ΠΎΡΠΈΠ½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡΡΠ° Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ² Π±ΡΠΎΠΉ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ.
ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ, Π²ΡΠ΅ΠΊΠΈ Π΄ΡΡΠ΅ΡΠ΅Π½ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π·Π° Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ Π±Π΅ΡΠ΅ ΡΡΡΠ½ΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΎ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ, ΠΊΠΎΠΈΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π±ΡΠΎΠΉ Π½ΠΎΠ²ΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ monorepo, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΏΡΡΠ²ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΡΠ°ΠΌ ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡ Π±ΡΠΎΠΉ Π½ΠΎΠ²ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΠΊΠ»ΠΎΠ½Π°.
ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π½Π΅ Π±Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ - ΠΎΡΠ½Π΅ΠΌΠ°Ρ Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΊΠ²Π°Π½ΠΈΡ, Π·Π° Π΄Π° ΡΠ΅ ΡΡΠΈΠ³Π½Π΅ Π΄ΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π΅ Π±Π΅ΡΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ ΠΊΠΎΡ ΡΠΎΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ° Π΅ Π·Π°ΠΏΠΎΡΠ½Π°Π»Π° ΡΠΎΠ·ΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄. Π‘Π΅Π³Π° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ Π²ΡΡΠ·ΠΊΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈ.
Π Π°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½Π° ΠΌΠ°ΡΡΠΈΡΠ° ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π² Π΄Π»ΡΠΆΠ½ΠΎΡΡΡΠ°
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΊΠΎ ΡΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ matrix 1/4
. ΠΡΠ² Π²Π΅ΡΡΠΈΡ 13.4 ΡΠ΅ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π±ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΡΠΎΠ²Π° Π·Π°Π΄Π°Π½ΠΈΠ΅, Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΠΎΡΠΎ ΠΈΠΌΠ΅ Π½Π° Π·Π°Π΄Π°Π½ΠΈΠ΅ΡΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΡΠ΅Π»ΡΠ° Π²ΠΈ Π΅ Π΄Π° ΠΎΡΡΡΡΠ°Π½ΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ Π·Π° x86 Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ°, ΡΠΎΠ³Π°Π²Π° Π·Π°Π΄Π°ΡΠ°ΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·Π²ΠΈΠΊΠ°Π½Π° matrix: debug x86
.
ΠΡΡΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² GitLab 13.4
Π‘Π²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π°ΠΊΠ°ΡΠ½Ρ Π² Atlassian
(CORE, STARTER, PREMIUM, ULTIMATE)
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° GitLab Π²Π΅ΡΠ΅ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ²ΡΡΠ·Π²Π°Ρ ΡΠ²ΠΎΠΈΡΠ΅ Π°ΠΊΠ°ΡΠ½ΡΠΈ Π² GitLab Ρ Π°ΠΊΠ°ΡΠ½Ρ Π² Atlassian Cloud. Π’ΠΎΠ²Π° ΡΠ΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Π²Π»Π΅Π·Π΅ΡΠ΅ Π² GitLab Ρ Π²Π°ΡΠΈΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° Atlassian, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π·Π° Π±ΡΠ΄Π΅ΡΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΡΠ°.
ΠΠΊΡΠΏΠΎΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠΏΠΈΡΡΠΊ Ρ Π²ΡΠΈΡΠΊΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅
(ΠΠ ΠΠΠ, ΠΠΠΠ’ΠΠ)
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π·Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠ΅ Π½ΡΠΆΠ΄Π°ΡΡ ΠΎΡ Π½Π°ΡΠΈΠ½ Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ°Ρ Π½Π° ΠΎΠ΄ΠΈΡΠΎΡΠΈΡΠ΅ ΡΡΠ»ΠΎΡΡΠ΅Π½ ΠΏΠΎΠ³Π»Π΅Π΄ Π²ΡΡΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π²ΡΡΠΊΠ° Π΄Π°Π΄Π΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° ΠΏΡΠΎΠΌΡΠ½Π°. Π ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° GitLab ΡΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΎ Π½Π° Π΅Π΄Π½ΠΎ ΠΌΡΡΡΠΎ: Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, Π±ΠΈΠ»Π΅ΡΠΈ, ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈ, ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ Π΄ΡΡΠ³ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ. ΠΠΎΡΠ΅Π³Π° ΠΈΠ»ΠΈ ΡΡΡΠ±Π²Π°ΡΠ΅ ΡΡΡΠ½ΠΎ Π΄Π° ΡΡΠ±ΠΈΡΠ°ΡΠ΅ ΡΠΎΠ²Π° Π² GitLab, ΠΈΠ»ΠΈ Π΄Π° Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΡΠ΅ Π²Π°ΡΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ Π±Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ.
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΎ Π΄Π° ΡΠ»Π°Π²ΡΡΠ΅ ΠΈ Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°ΡΠ΅ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π·Π° Π΄Π° ΠΏΠΎΡΡΠ΅ΡΠ½Π΅ΡΠ΅ Π²Π°ΡΠΈΡΠ΅ ΠΎΠ΄ΠΈΡΠ½ΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ Π½ΡΠΆΠ΄ΠΈ. ΠΠ° Π΄Π° Π΅ΠΊΡΠΏΠΎΡΡΠΈΡΠ°ΡΠ΅ ΡΠΏΠΈΡΡΠΊ Ρ Π²ΡΠΈΡΠΊΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π·Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π³ΡΡΠΏΠ°, ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π΄ΠΎ
ΠΠ·Π±ΡΠΎΡΠ²Π°Π½Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π»ΠΈΡΠ½ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ ΡΡΠ΅Π· API
(ΠΠ ΠΠΠ, ΠΠΠΠ’ΠΠ)
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½Π° Π½Π° GitLab Π΅ Π²Π°ΠΆΠ½Π° ΡΠ°ΡΡ ΠΎΡ ΡΡΠΈΠ»ΠΈΡΡΠ° Π·Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅. ΠΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ Π½Π° Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠ° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ Π΄ΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ Π΄ΠΎΡΡΡΠΏ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π² GitLab. ΠΠ° Π΄Π° ΡΠ»Π΅ΡΠ½ΠΈΠΌ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ΡΠΎ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π²ΡΠ² Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½Π°, Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ
ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΈΠ·Π±ΡΠΎΠΈΠΌ Π²ΡΠΈΡΠΊΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° ΡΠ°ΡΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ ΠΈ ΠΏΠΎ ΠΈΠ·Π±ΠΎΡ
Π’Π΅Π·ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° API Π½Π° GitLab ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΄Π° ΠΈΠ·Π±ΡΠΎΡΠ²Π°Ρ ΠΈ ΠΎΡΠΌΠ΅Π½ΡΡ ΡΠ²ΠΎΠΈΡΠ΅ Π»ΠΈΡΠ½ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ, Π° Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π΄Π° ΠΈΠ·Π±ΡΠΎΡΠ²Π°Ρ ΠΈ ΠΎΡΠΌΠ΅Π½ΡΡ ΡΠΎΠΊΠ΅Π½ΠΈΡΠ΅ Π½Π° ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ. ΠΠ΅ΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ Π·Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π΄Π° Π²ΠΈΠΆΠ΄Π°Ρ ΠΊΠΎΠΉ ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡ Π½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½Π°, Π΄Π° Π²Π·Π΅ΠΌΠ°Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° Π΄ΠΎΡΡΡΠΏ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π° ΠΎΡΠΌΠ΅Π½ΡΡ Π»ΠΈΡΠ½ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° Π±ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Ρ ΠΈΠ·Π²ΡΠ½ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈΡΠ΅ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ°.
Π‘Π²ΡΡΠ·Π°Π½ΠΈ Π±ΠΈΠ»Π΅ΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π΅ΡΠ΅ ΡΠ° Π² GitLab Core
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΡΠ΅Π΄ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ΅ΡΠ΅ΡΠ° ΠΎΠ±ΡΠ²ΠΈΡ
ΠΌΠ΅ ΠΏΠ»Π°Π½ Π·Π°
ΠΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠ»ΠΎΠ½ Π² ΡΡΡΠ°Π½ΠΈΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ΄Π°, Π΄ΠΈΡΠΊΡΡΠΈΠΈ ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½ΡΠΈ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, ΡΠ΅ΡΡΠΎ Π΅ ΠΆΠ΅Π»Π°ΡΠ΅Π»Π½ΠΎ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΊΠ»ΠΎΠ½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π·Π° ΠΏΠΎ-Π·Π°Π΄ΡΠ»Π±ΠΎΡΠ΅Π½ ΠΏΡΠ΅Π³Π»Π΅Π΄. ΠΠ°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΠΎΠ½Π° ΠΎΠ±Π°ΡΠ΅ ΡΡΠ°Π²Π° Π²ΡΠ΅ ΠΏΠΎ-ΡΡΡΠ΄Π½ΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΊΡΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΡΠ΅ Π΄ΠΎΠ±Π°Π²Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΡΠ° Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅.
ΠΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΠΎΠ½Π° ΠΊΡΠΌ ΡΡΡΠ°Π½ΠΈΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΏΠΎ Π²ΡΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΠΏΡΠ΅Π²ΡΡΡΠ°Π½Π΅ ΠΏΡΠ΅Π· ΡΡΠ»Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ°. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π·Π° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, ΡΠ°Π·Π΄Π΅Π»ΡΡ Π·Π° ΠΊΠ»ΠΎΠ½ Π½Π° ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ° ΡΡΠ΄ΡΡΠΆΠ° ΡΠ΄ΠΎΠ±Π΅Π½ Π±ΡΡΠΎΠ½ "ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅".
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ
ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ Π·Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ²ΠΈΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² diffs Π½Π° ΠΈΡΠΊΠ°Π½Π΅ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠ°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, ΠΊΠΎΠΈΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΊΡΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΡΠ²ΠΈΠ²Π°Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠΈ, Π·Π° Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Ρ. ΠΠΎΠ³Π°ΡΠΎ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ»ΡΡΠΈ, Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π΄Π° ΠΏΡΠΎΠΏΡΡΠ½Π΅ΡΠ΅ ΡΠ°ΠΉΠ» ΠΏΡΠΈ ΠΏΡΠ΅Π³Π»Π΅Π΄, ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Ρ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ Π²Π΅ΡΡΠΈΡ 13.4, Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΡΠ΅ ΠΌΠ°ΡΠΊΠΈΡΠ°Ρ ΡΠ°Π·Π»ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ ΡΠ³ΡΠ½Π°ΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ°ΠΊΠ° ΡΠ΅ Π½ΡΠΌΠ° Π΄Π° ΠΏΡΠΎΠΏΡΡΠ½Π΅ΡΠ΅ ΡΠ΅Π·ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΊΠΎΠ΄Π°. ΠΠ° ΠΎΡΠ΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ° ΡΡΠ½ΠΎΡΠ° ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π±ΡΠ΄Π΅ΡΠ° Π²Π΅ΡΡΠΈΡ. Π‘Π»Π΅Π΄Π΅ΡΠ΅ Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π°
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ²ΠΈΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² diff Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Π ΡΠ°Π·Π΄Π΅Π»Π° diff Π·Π° ΠΈΡΠΊΠ°Π½Π΅ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ΅ ΡΠ²ΠΈΠ²Π°Ρ, Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ ΠΊΠΎΠ΄Π°, Π½ΡΠΊΠΎΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΡΠΈΡΡ ΠΏΡΠ΅Π²ΡΡΡΠ° ΠΏΡΠ΅Π· ΡΠΏΠΈΡΡΠΊΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ° ΡΠ²ΠΈΡΠΈ.
ΠΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² Π³ΠΎΡΠ½Π°ΡΠ° ΡΠ°ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° Π² ΠΈΡΠΊΠ°Π½Π΅ΡΠΎ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, Π·Π° Π΄Π° ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΡΠ΅ Π² ΡΠΎΠ·ΠΈ ΡΠ°Π·Π΄Π΅Π» ΠΈΠΌΠ° ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ ΡΠ°ΠΉΠ». ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π½ΡΠΌΠ° Π΄Π° ΠΏΡΠΎΠΏΡΡΠ½Π΅ΡΠ΅ Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠ΅Π³Π»Π΅Π΄Π°.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Gitaly
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π²ΡΠ·Π΅Π» Π½Π° ΠΊΠ»ΡΡΡΠ΅Ρ Gitaly ΠΏΠ°Π΄Π½Π°, Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ° Π½Π° ΡΠΎΠ·ΠΈ Π²ΡΠ·Π΅Π» Π±ΡΡ Π° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΡΠΎ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅. Π’ΠΎΠ²Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ Π·Π°Π³ΡΠ±Π° Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π° Π²ΡΠ·Π΅Π»Π°, ΠΊΠΎΠΈΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° Π±ΠΈΠ»ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ°Π½ΠΈ. ΠΠΎΠ³Π°ΡΠΎ Π²ΡΠ·Π΅Π»ΡΡ ΡΠ΅ ΡΠ²ΡΡΠ·Π° ΠΎΡΠ½ΠΎΠ²ΠΎ, GitLab Π½Π΅ ΡΠ΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΡΡΡΠ±Π²Π°ΡΠ΅ ΡΡΡΠ½ΠΎ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠΌΠΈΡΡΡ ΡΡΡ Π·Π°Π³ΡΠ±Π° Π½Π° Π΄Π°Π½Π½ΠΈ. ΠΡΡΠ³ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΡΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ Π΄ΠΎ ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΠΊΠ°ΡΠΎ Π½Π΅ΡΡΠΏΠ΅Ρ Π½Π° Π·Π°Π΄Π°Π½ΠΈΠ΅ Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π²ΡΠΎΡΠΈΡΠ΅Π½ Π²ΡΠ·Π΅Π». Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΠΎΡΡΠ°Π²Π° Π½Π΅Π°ΠΊΡΡΠ°Π»Π½ΠΎ, Π΄ΠΎΠΊΠ°ΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π·Π° Π·Π°ΠΏΠΈΡ, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Π·Π°Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ.
ΠΠ° Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π°ΡΠ° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π° Π²ΡΠ΅ΠΊΠΈ Π½ΠΎΠ² Gitaly Π²ΡΠ·Π΅Π», Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠ°, Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°ΠΉΠΊΠΈ ΡΡΡΠ½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π²ΡΠ·Π»ΠΈ.
ΠΠ°ΡΠΊΠΈΡΠ°ΠΉΡΠ΅ Π·Π°Π΄Π°ΡΠ°ΡΠ° ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° Π΄ΠΈΠ·Π°ΠΉΠ½
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΡΠ΅ΠΊΡΠΈΠ²Π½Π°ΡΠ° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ Π² GitLab ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° ΡΠΏΠΈΡΡΡΠΈ ΡΡΡ Π·Π°Π΄Π°ΡΠΈ. ΠΠΊΠΎ ΡΡΠ΅ Π±ΠΈΠ»ΠΈ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈ Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°Ρ, ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠΈΠ³Π½Π΅ΡΠ΅ Π΄ΠΎ Π·Π°Π΄Π°ΡΠ° ΠΈ ΠΈΠ»ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ Π½Π΅ΡΠΎ, ΠΈΠ»ΠΈ Π΄Π° Π³ΠΎ ΠΌΠ°ΡΠΊΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΎ. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΈ Π²ΡΠ·Π»ΠΎΠΆΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π²ΡΡΡ Ρ Π½Π΅ΡΠΎ ΠΈΠ»ΠΈ Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ΡΠ΅ ΠΊΡΠΌ Π½Π΅Π³ΠΎ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ.
ΠΡΠ΅Π΄ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΈΠ»ΠΈ Π΄Π° Π³ΠΈ ΠΌΠ°ΡΠΊΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΡΠΎ Π·Π°Π²ΡΡΡΠ΅Π½ΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π²ΡΡΡ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈ. Π’ΠΎΠ²Π° ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΎ Π½Π°ΡΡΡΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΈΡΠ΅ Π΅ΠΊΠΈΠΏΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π·Π°Π΄Π°ΡΠΈΡΠ΅ Π·Π° Π²ΡΡΡΠ΅Π½Π΅ ΡΠ° ΠΊΡΠΈΡΠΈΡΠ΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΎΡ ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ Π² GitLab.
ΠΡΠ² Π²Π΅ΡΡΠΈΡ 13.4 Π΄ΠΈΠ·Π°ΠΉΠ½ΡΡ Π½Π°Π²Π°ΠΊΡΠ²Π° ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ Π½Π° ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π³ΠΈ ΠΏΡΠ°Π²ΠΈ ΠΏΠΎ-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΈ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ.
ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π½Π΅ΠΈΠ·ΠΏΡΠ°Π²Π½ΠΎΡΡΠΈ Π·Π° CI/CD
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΎΠ΄ΠΎΠ±ΡΠΈΡ ΠΌΠ΅ GitLab CI/CD Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π½Π΅ΠΈΠ·ΠΏΡΠ°Π²Π½ΠΎΡΡΠΈ, ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΌΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ΅ΡΠ½Π΅ΡΠ΅. ΠΠ°Π΄ΡΠ²Π°ΠΌΠ΅ ΡΠ΅, ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π°ΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ΅Π½Π΅Π½ ΡΠ΅ΡΡΡΡ, ΠΊΠΎΠΉΡΠΎ Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π±ΡΡΠ·ΠΎ ΠΈ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ GitLab CI/CD.
ΠΠ°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Ρ ΠΎΡ ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅
(PREMIUM, ULTIMATE, SILVER, GOLD)
ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠ°Π΄Π½Π°Ρ ΠΎΡ ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΏΠΎΡΠ°Π΄ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π»ΠΈ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ. ΠΠΊΠΎ Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π²Π΅ΡΠ΅ Π΅ Π±ΠΈΠ»Π° Π² ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° ΠΈ Π½ΡΠΊΠΎΠΉ Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊΠΎΠΌΠ΅Π½ΡΠ°Ρ ΠΊΡΠΌ Π½Π΅Ρ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ·Π΄Π°Π²Π° Π½ΠΎΠ²Π° Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π° Π΄ΠΈΡΠΊΡΡΠΈΡ, Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° Π½Π΅ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΈ ΠΎΡΠΏΠ°Π΄Π° ΠΎΡ ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ°. Π‘Π΅Π³Π°, ΡΠ»Π΅Π΄ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΊΡΠΌ ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ Π½ΠΎΠ²ΠΈ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ Π±Π΅Π· ΡΡΡΠ°Ρ ΠΎΡ Π½Π°ΡΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ»ΠΈΠ²Π°Π½Π΅.
ΠΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° Π·Π° Π·Π°Π΄Π°Π½ΠΈΠ΅ Π² Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²ΠΈΠ΄ΡΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π°, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡΡ Π΅ Π·Π°Π²ΡΡΡΠ΅Π½ β Π΄ΠΎΡΠΈ Π² ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΏΡΠΈΡΠΏΠΎΡΠΎΠ±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π·Π° Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π°ΡΠ΅ ΡΠ°ΠΌΠΎ ΡΡΠ΅Π΄Π½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΡΠ΅Π·ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°ΡΠ΅, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° ΠΈ Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ΡΠ΅ ΠΊΡΠΌ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅. ΠΠ° Π΄Π° Π²ΠΈ ΡΠΏΠ΅ΡΡΠΈΠΌ Π²ΡΠ΅ΠΌΠ΅ ΠΈ ΡΠ΅Π·ΠΈ Π½Π΅Π½ΡΠΆΠ½ΠΈ ΡΡΡΠΏΠΊΠΈ, Π½ΠΈΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ Π΄ΠΆΠ°Π΄ΠΆΠ°ΡΠ° Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΡΠ΅Π΄Π½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅, Π½Π΅ΠΉΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π»Π΅Π²ΠΈΡ ΠΈ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ Π·Π° Π²ΡΡΠΊΠ° Π·Π°Π΄Π°ΡΠ°, Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΊΠΎΡΡΠΎ Π΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½Π° ΡΡΠ΅Π΄Π½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ .
ΠΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΠΏΡΠΈ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° Π³ΡΡΠΏΠ°
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Π Π΅Π³ΠΈΡΡΡΡΡΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ GitLab Π΅ ΠΌΡΡΡΠΎ Π·Π° ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Π½Π΅ ΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ. ΠΠΎΠ³Π°ΡΠΎ Π²Π°ΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠ° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΡΡΠ±Π²Π° Π±ΡΡΠ·ΠΎ Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΡΠ΅ Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ Π΄Π° Π³ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π΅ΡΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅ Ρ
ΠΎΡΠ°ΡΠ° Π΄Π° Π½Π΅ Π³ΠΈ ΠΈΠ·ΡΠ΅Π³Π»ΡΡ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π΅ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΡ ΡΡΠ΅Π·
ΠΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° Π³ΡΡΠΏΠ°. ΠΡΠΎΡΡΠΎ ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° Π³ΡΡΠΏΠ°ΡΠ°, ΡΠΈΠ»ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅ ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π²ΠΈ ΡΡΡΠ±Π²Π°Ρ.
ΠΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ Π½Π° Conan ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΄ΠΎ Π½ΠΈΠ²ΠΎ ΠΏΡΠΎΠ΅ΠΊΡ
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° GitLab Conan, Π·Π° Π΄Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°ΡΠ΅ ΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ C/C++ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΎΠ±Π°ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ
Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΌΠΎ Π΄ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° Conan ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 51 Π·Π½Π°ΠΊΠ°. ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°ΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡ ΠΏΠΎΠ΄Π³ΡΡΠΏΠ° ΠΊΠ°ΡΠΎ gitlab-org/ci-cd/package-stage/feature-testing/conan
, Π±Π΅ΡΠ΅ ΠΏΠΎΡΡΠΈ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ.
ΠΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Conan Π΄ΠΎ Π½ΠΈΠ²ΠΎ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ Π΅Π·ΠΈΡΠΈ Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
(ΠΠ ΠΠΠ, ΠΠΠΠ’ΠΠ)
ΠΠΈΠ΅ ΡΠΌΠ΅ ΡΠ°Π·Π²ΡΠ»Π½ΡΠ²Π°Π½ΠΈ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ Ρ C, C++, C# ΠΈ .Net ΠΊΠΎΠ΄, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ NuGet 4.9+ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Conan ΠΊΡΠΌ Π½Π°ΡΠΈΡ ΡΠΏΠΈΡΡΠΊ.
ΠΠ·Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π½Π° βΠ‘Π»ΠΈΠ²Π°Π½Π΅ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°β
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ Π·Π°Π΄Π°Π²Π°Ρ
ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π·Π° ΠΈΡΠΊΠ°Π½Π΅ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΠ±Π΅Π΄ΠΈΠ½Π΅ΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡΡ ΠΏΡΠΈΠΊΠ»ΡΡΠΈ (ΠΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ ΠΏΡΠΈ ΡΡΠΏΠ΅Ρ
Π½Π° ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Π°, MWPS) Π½Π΅ Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΎ ΠΈΠ·Π²Π΅ΡΡΠΈΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅ΠΉΠ». Π’ΡΡΠ±Π²Π°ΡΠ΅ ΡΡΡΠ½ΠΎ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΡΠ°ΠΊΠ°ΡΠ΅ ΡΠ»ΠΈΠ²Π°Π½Π΅ΡΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ΅Π½ΠΎ. Π ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΠ²ΠΈΠ΅ΡΠΎ Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΠΏΡΠΈΠ½ΠΎΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° EKS ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Ρ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π²Π΅ΡΡΠΈΡ Π½Π° Kubernetes
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° GitLab Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·Π±ΠΈΡΠ°Ρ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Kubernetes, ΠΊΠΎΡΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° ΠΎΡ EKS; ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π±ΠΈΡΠ°ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΠΈ 1.14-1.17.
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ ΡΠΈΠΏΠΎΠ²Π΅ Π±ΠΈΠ»Π΅ΡΠΈ
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠ΅ Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Π» ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ: ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ°Π²Π°Ρ Π·Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ, Π° ΡΠ»Π΅Π½ΠΎΠ²Π΅ΡΠ΅ Π½Π° Π΅ΠΊΠΈΠΏΠ° ΠΏΡΠΎΡΡΠ²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. ΠΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅ Π²Π΅ΡΠ΅ ΡΠ° ΡΠΎΡΠΌΠ° Π½Π° Π±ΠΈΠ»Π΅Ρ, ΡΠ°ΠΊΠ° ΡΠ΅ Π²Π°ΡΠΈΡΠ΅ Π΅ΠΊΠΈΠΏΠΈ ΠΌΠΎΠ³Π°Ρ Π±ΡΡΠ·ΠΎ Π΄Π° Π³ΠΈ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΠΏΠΎΠ·Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ. ΠΠ»ΠΈΠΊΠ½Π΅ΡΠ΅ ΠΠΎΠ²Π° Π·Π°Π΄Π°ΡΠ° ΠΎΡ Π²ΡΡΠΊΠΎ ΠΌΡΡΡΠΎ Π² GitLab ΠΈ Π½Π° ΠΏΠΎΠ»Π΅ΡΠΎ Π’ΠΈΠΏ ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΠ½ΡΠΈΠ΄Π΅Π½Ρ.
Π‘ΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Π½Π΅ Π½Π° GitLab ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π² Markdown
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΎΠ΄ΠΎΠ±ΡΠΈΡ
ΠΌΠ΅ ΡΠΈΠ³Π½Π°Π»ΠΈΡΠ΅ Π½Π° GitLab, ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ
ΠΌΠ΅ Π½ΠΎΠ² ΡΠΈΠΏ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Π½Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π·Π° ΡΡΡ
Π²ΡΠ² Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Markdown Π½Π° GitLab, ΠΊΠΎΠ΅ΡΠΎ ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ΡΠΎ ΠΈ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΠ³Π½Π°Π»ΠΈ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ^alert#1234
Π΄Π° ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π²ΡΠ² Π²ΡΡΠΊΠΎ ΠΏΠΎΠ»Π΅ Markdown: Π² ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈ, Π±ΠΈΠ»Π΅ΡΠΈ ΠΈΠ»ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, Π° Π½Π΅ ΠΎΡ Π±ΠΈΠ»Π΅ΡΠΈ ΠΈΠ»ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅.
ΠΡΠ΅Π³Π»Π΅Π΄ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π·Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΡΠ΅ΡΠ°Π²Π°ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°ΡΠ° ΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° ΠΈ ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π»Π΅ΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½Π°, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° Π½Π΅ ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΈΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ. ΠΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΏΡΠ»Π½ΠΎΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π² ΡΠ°Π·Π΄Π΅Π» ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅.
75% ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΎ ΡΡΡΡΠ΅Π½Π΅
(Π‘Π’ΠΠ Π’ΠΠ , ΠΠ ΠΠΠΠ£Π, ΠΠ ΠΠΠΠ, ΠΠ ΠΠΠ, Π‘Π ΠΠΠ Π, ΠΠΠΠ’Π)
GitLab, ΠΊΠ°ΡΠΎ Π΅Π΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠΌΠ° ΡΠ½ΠΈΠΊΠ°Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π΄Π° ΠΏΡΠ°Π²ΠΈ Π±ΡΡΠ·ΠΎ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π² ΡΠ΅Π»ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π½Π° DevOps. Π GitLab 13.4 ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΎΡΠΎ ΡΡΡΡΠ΅Π½Π΅ Π²ΡΡΡΠ° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ 75% ΠΏΠΎ-Π±ΡΡΠ·ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈ
ΠΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π·Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ
(CORE, STARTER, PREMIUM, ULTIMATE)
ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π·Π°Π±Π°Π²ΡΠ½Π΅ Π½Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡ Π±Π΅ΡΠ΅
Π’Π°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π°Π²Π° Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΊΠ°ΡΠΎ ΡΡΠ±ΠΈΡΠ° ΡΡΠ»Π°ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° Π΅Π΄Π½ΠΎ ΠΌΡΡΡΠΎ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΡΠΌΡΠ½Π° Π½Π° Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°Π½ΠΈΡ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ
ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° Π³ΡΡΠΏΠΎΠ²ΠΎ Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ ΠΊΡΠΌ API
(Π‘Π’ΠΠ Π’ΠΠ , ΠΠ ΠΠΠΠ£Π, ΠΠ ΠΠΠΠ, ΠΠ ΠΠΠ, Π‘Π ΠΠΠ Π, ΠΠΠΠ’Π)
ΠΡΠ΅Π΄ΠΈ Π³ΡΡΠΏΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΌΠΎ ΡΡΠ΅Π· ΠΏΠΎΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΡΠΊΠ° Π³ΡΡΠΏΠ° ΠΏΠΎΠΎΡΠ΄Π΅Π»Π½ΠΎ ΡΡΠ΅Π· ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° GitLab ΠΈ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°. ΠΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΡΠ΅Π·ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΡΠ΅Π· API, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° GitLab.
ΠΡΠΌΠ΅Π½Π΅ΡΠ΅ Π»ΠΈΡΠ½ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ Π·Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ
(ΠΠ ΠΠΠΠ)
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π·Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π½Π° ΡΡΠ°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΉΡ
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Π GitLab 13.4 Π²ΡΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π½ΠΎΠ² Π½Π°ΡΠΈΠ½ Π·Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π½Π° ΡΡΠ°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΉΡ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΡ ΡΠ°ΠΉΠ» Π½Π΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² ΡΠ°Π·ΠΈ Π²Π΅ΡΡΠΈΡ, Π½ΠΈΠ΅ ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π·Π° Π±ΡΠ΄Π΅ΡΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°. Π ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΡΠΌ ΡΠ°ΠΉΠ»Π° .gitlab/static-site-editor.yml
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅
Π Π΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ²ΠΎΠ΄Π½Π°ΡΠ° ΡΠ°ΡΡ Π½Π° ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π½Π° ΡΡΠ°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΉΡ
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΡΠ΅Π΄Π½Π°ΡΠ° ΠΌΠ°ΡΠ΅ΡΠΈΡ Π΅ Π³ΡΠ²ΠΊΠ°Π² ΠΈ ΡΠ΄ΠΎΠ±Π΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΎΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π½Π° ΡΡΠ°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΉΡ. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°, ΡΠ°Π±Π»ΠΎΠ½Π° Π·Π° ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΡΠ°, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π²ΡΡΠΊΠ°ΠΊΡΠ² ΡΠΈΠΏ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ ΠΊΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈ ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π² HTML. ΠΠΊΠ»ΡΡΠ΅Π½ Π½Π°ΠΉ-ΠΎΡΠ³ΠΎΡΠ΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΠ» Ρ Π΄Π°Π½Π½ΠΈ, ΠΏΡΠ΅Π°ΠΌΠ±ΡΠ»ΡΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ YAML ΠΈΠ»ΠΈ JSON ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅Π½ ΠΈ ΡΠΎΡΠ΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ. ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° Π·Π°ΠΏΠΎΠ·Π½Π°ΡΠΈ ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΌΠΎΠ³Π°Ρ ΠΏΠΎ Π½Π΅Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΄Π° Π²ΡΠ²Π΅Π΄Π°Ρ Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΎ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ ΠΎΡ ΡΠ²ΠΎΡ ΡΡΡΠ°Π½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΡΠΈΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈΠ»ΠΈ Π΄ΠΎΡΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅.
Π Π΅ΠΆΠΈΠΌΡΡ Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ WYSIWYG Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π½Π° ΡΡΠ°ΡΠΈΡΠ΅Π½ ΡΠ°ΠΉΡ Π²Π΅ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π° Π²ΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ ΠΎΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, Π·Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ ΡΠ΅Π·ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅. Π’ΠΎΠ²Π° ΠΎΠ±Π°ΡΠ΅ Π²ΠΈ ΠΏΡΠ΅Π΄ΠΏΠ°Π·Π²Π° ΠΎΡ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅, ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈ Π² ΡΠ°Π·ΠΈ ΡΠ°ΡΡ, Π±Π΅Π· Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ΡΠ΅ ΠΊΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ. Π GitLab 13.4 ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²ΡΡΠΊΠΎ ΠΏΠΎΠ»Π΅ ΠΈ Π΄Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΌΡ Π² ΠΏΠΎΠ·Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΡΠΎΡΠΌΡΠ»ΡΡ. ΠΠΎΠ³Π°ΡΠΎ Π½Π°ΡΠΈΡΠ½Π΅ΡΠ΅ Π±ΡΡΠΎΠ½ ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ (ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ) ΠΎΡΠ²Π°ΡΡ ΠΏΠ°Π½Π΅Π», ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΠΎΠ»Π΅ Π½Π° ΡΠΎΡΠΌΡΠ»ΡΡ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΊΠ»ΡΡ, Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ. ΠΠΎΠ»Π΅ΡΠ°ΡΠ° ΡΠ΅ ΠΏΠΎΠΏΡΠ»Π²Π°Ρ Ρ ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ ΠΈ Π·Π° Π΄Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΡΠ΅ Π½ΡΠΊΠΎΠ΅ ΠΎΡ ΡΡΡ , ΠΏΡΠΎΡΡΠΎ Π³ΠΎ Π²ΡΠ²Π΅Π΄Π΅ΡΠ΅ Π² ΡΠ΅Π± ΡΠΎΡΠΌΠ°ΡΠ°. Π’ΠΎΠ²Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄Π³ΠΎΠ²ΠΎΡΠ° ΠΈΠ·Π±ΡΠ³Π²Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ Π²ΠΈ Π΄Π°Π²Π° ΠΏΡΠ»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π²ΡΡΡ Ρ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ, ΠΊΠ°ΡΠΎ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΠΊΡΠ°ΠΉΠ½ΠΈΡΡ ΠΈΠ·Ρ ΠΎΠ΄ Π΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ.
GitLab Π·Π° Jira ΠΈ DVCS Connector Π²Π΅ΡΠ΅ Π² Core
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Jira Π² GitLab:
Π’Π΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΈ Π±ΡΡ Π° Π½Π°Π»ΠΈΡΠ½ΠΈ ΡΠ°ΠΌΠΎ Π² Π½Π°ΡΠΈΡ Premium ΠΏΠ»Π°Π½, Π½ΠΎ ΡΠ΅Π³Π° ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ!
ΠΠ»Π°ΡΡΠ²Π°Π½Π΅ Ρ ΠΌΠ½ΠΎΠ·ΠΈΠ½ΡΡΠ²ΠΎ Π·Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π² Gitaly (Π±Π΅ΡΠ°)
(CORE, STARTER, PREMIUM, ULTIMATE)
ΠΠ»ΡΡΡΠ΅Ρ Gitaly Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ°ΡΠ΅ Git Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΠΏΠ»ΠΈ Gitaly Π²ΡΠ·Π»ΠΈ. Π’ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡΡΠ° ΠΊΡΠΌ Π³ΡΠ΅ΡΠΊΠΈ ΡΡΠ΅Π· Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΈ ΡΠΎΡΠΊΠΈ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π°.
ΠΠ»Π°ΡΡΠ²Π°Π½Π΅ΡΠΎ Ρ ΠΌΠ½ΠΎΠ·ΠΈΠ½ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡΡΠ° ΠΊΡΠΌ Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΡΠ³Π»Π°ΡΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠ½ΠΎΠ·ΠΈΠ½ΡΡΠ²ΠΎΡΠΎ (Π° Π½Π΅ Π²ΡΠΈΡΠΊΠΈ) ΠΎΡ Π²ΡΠ·Π»ΠΈΡΠ΅, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°. ΠΠΊΠΎ ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π°, Π·Π°ΠΏΠΈΡΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠΏΠ΅Π΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΠ·Π»ΠΈ. ΠΠ΅ΡΡΠ³Π»Π°ΡΡΠ²Π°ΡΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ ΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΎΡ ΡΠ΅Π·ΠΈ Π²ΡΠ·Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π»ΠΈ ΠΊΠ²ΠΎΡΡΠΌ.
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΡ Π΅ΠΌΠ° Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° JSON Π² Web IDE
(PREMIUM, ULTIMATE, SILVER, GOLD)
ΠΡΠΎΠ΅ΠΊΡΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ Ρ ΠΎΡΠ°ΡΠ° ΠΏΠΈΡΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ JSON ΠΈΠ»ΠΈ YAML, ΡΠ΅ΡΡΠΎ ΡΠ° ΠΏΡΠ΅Π΄ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΊΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π·Π°ΡΠΎΡΠΎ Π΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΠ΅ΡΠ°ΡΠ½Π° Π³ΡΠ΅ΡΠΊΠ° ΠΈ Π΄Π° ΡΡΡΠΏΠΈΡΠ΅ Π½Π΅ΡΠΎ. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅, ΠΊΠΎΠΈΡΠΎ ΡΠ»Π°Π²ΡΡ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² CI ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Π°, Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° JSON ΡΠ°ΠΉΠ» ΡΡΡ ΡΡ Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΡΡΠ²Π΅ΡΠΈ.
Π§Π»Π΅Π½ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Ρ Π² ΡΠ²ΠΎΠ΅ΡΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΏΡΡΡ Π΄ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°ΡΠ° ΡΡ
Π΅ΠΌΠ° Π²ΡΠ² ΡΠ°ΠΉΠ»Π° .gitlab/.gitlab-webide.yml
, ΠΊΠΎΠΉΡΠΎ ΡΠΊΠ°Π·Π²Π° ΡΡ
Π΅ΠΌΠ°ΡΠ° ΠΈ ΠΏΡΡΡ Π΄ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°. ΠΠΎΠ³Π°ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅ ΠΊΠ°ΡΠ΅Π½ Π² Web IDE, Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΎΠ±ΡΠ°ΡΠ½Π° Π²ΡΡΠ·ΠΊΠ° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅ Π±ΡΠ΄Π°Ρ Π²ΠΈΠ΄ΠΈΠΌΠΈ, Π·Π° Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»Π°.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ Π½Π° Π½Π°ΡΠΎΡΠ΅Π½Π° Π°ΡΠΈΠΊΠ»ΠΈΡΠ½Π° Π³ΡΠ°ΡΠΈΠΊΠ° (DAG) Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΎ Π΄ΠΎ 50
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ needs:
, ΡΠ²ΡΡΠ΄Π΅ Π³ΡΡΠ±ΠΎ. Π 13.4 ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΎ ΠΎΡ 10 Π½Π° 50, Π·Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΈ ΠΎΡ Π²ΡΡΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°Π΄Π°Π½ΠΈΡ Π²ΡΠ² Π²Π°ΡΠΈΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΈ.
ΠΠΊΠΎ ΡΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° GitLab, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ²ΠΈΡΠΈΡΠ΅ ΡΠΎΠ·ΠΈ Π»ΠΈΠΌΠΈΡ ΠΎΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅, ΠΊΠ°ΡΠΎ Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π½Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΠΌΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΎΠ²Π°.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ needs:
ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ needs
Π·Π° ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠΈ Π·Π°Π΄Π°ΡΠΈ
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
Π Π½ΡΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅, ΠΈΠ·Π±ΡΠΎΠ΅Π½ΠΈ Π² needs
, ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π°ΠΉΠΊΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΈ Π·Π°Π΄Π°Π½ΠΈΡ, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π΅ ΡΡΡΠ±Π²Π°. Π’ΠΎΠ²Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΎ Π²ΡΠ² Π²Π΅ΡΡΠΈΡ 13.4 ΠΈ needs
ΡΠ΅Π³Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΡΠ»ΡΡΠ°ΠΈ Π½Π° ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠΈ Π·Π°Π΄Π°ΡΠΈ.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ needs
Π€ΠΈΠΊΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡ Π½Π° Π·Π°Π΄Π°Π½ΠΈΠ΅, Π·Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΠ΅ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ΡΠΎ ΠΌΡ
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
GitLab Π²Π΅ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π·Π°ΠΊΠ»ΡΡΠ²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡ ΠΎΡ ΡΡΠΏΠ΅ΡΠ½Π° Π·Π°Π΄Π°ΡΠ° ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Π½Π° Π²ΡΠ΅ΠΊΠΈ Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΊΠ»ΠΎΠ½, Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ Π΅ΡΠΈΠΊΠ΅Ρ, Π·Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ΡΠΎ ΠΌΡ ΡΠ»Π΅Π΄ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅. Π‘ΡΠ°Π²Π° Π²ΡΠ΅ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π²Π°Ρ ΠΏΠΎ-Π°Π³ΡΠ΅ΡΠΈΠ²Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΡΠΈΡΡΡΡ ΡΡΠ°ΡΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ. Π’ΠΎΠ²Π° ΠΏΠΎΠΌΠ°Π³Π° Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠΌΠ°ΡΠ΅ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡ ΠΎΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°.
CI/CD ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Π°
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° CI/CD ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΈ Π΄Π° ΡΠΏΠ΅ΡΡΠΈ ΠΏΠ°ΡΠΈ. ΠΠΎΠ΄ΠΎΠ±ΡΠΈΡ ΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Ρ ΠΊΡΠ°ΡΠΊΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ° ΠΎΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅ Π²ΠΈ.
ΠΠΎΠΊΠ»Π°Π΄ ΠΎΡ ΡΠ΅ΡΡΠ°, ΡΠΎΡΡΠΈΡΠ°Π½ ΠΏΠΎ ΡΡΠ°ΡΡΡ Π½Π° ΡΠ΅ΡΡΠ°
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΠ°ΠΉΠ»Π°, ΠΊΠ°ΡΠ΅Π½ Π² ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠ΅ΡΠ΅ ΠΈΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠ°ΡΠ΅Π½ΠΈ Π² ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ Π½Π° GitLab. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±ΠΈ. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΠ° GitLab.com ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΠ°:
- ΠΠΎΠ½Π°Π½: 250MB
- Maven: 3 GB
- NPM: 300MB
- NuGet: 250MB
- PyPI: 3GB
ΠΠ° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ Π½Π° GitLab, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ° ΡΡΡΠΈΡΠ΅. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° Ρ
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ CI_JOB_TOKEN Π·Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ Π½Π° PyPI ΠΏΠ°ΠΊΠ΅ΡΠΈ
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ PyPI Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° GitLab, Π·Π° Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅, ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°ΡΠ΅ ΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΡΡΠ΅ Python ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π°Π΅Π΄Π½ΠΎ Ρ ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ ΠΈ CI/CD ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΎΠ±Π°ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ
ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°ΡΠ΅ ΡΡΠ΅ΡΡ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° CI_JOB_TOKEN
. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Π·Π° Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° PyPI, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ΅ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠΎ Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ.
ΠΠ΅ΡΠ΅ Π΅ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ GitLab CI/CD Π·Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° PyPI ΠΏΠ°ΠΊΠ΅ΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° CI_JOB_TOKEN
.
DAST ΠΏΡΠΎΡΠΈΠ»ΠΈ Π½Π° ΡΠΊΠ΅Π½Π΅ΡΠ° ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ²Π°Π½Π΅
(ΠΠ ΠΠΠ, ΠΠΠΠ’ΠΠ)
ΠΡΠΌ DAST ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΏΠΎ Π·Π°ΡΠ²ΠΊΠ°, ΠΊΠΎΠ΅ΡΠΎ Π±Π΅ΡΠ΅
ΠΡΠΎΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π·Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π·Π° GitLab Pages
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ GitLab Pages ΠΈ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ URL ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΡΡΠ΅ Π·Π°Π±Π΅Π»ΡΠ·Π°Π»ΠΈ, ΡΠ΅ Π½Π΅ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½ΠΈΡ Π½Π° Π²Π°ΡΠΈΡ ΡΠ°ΠΉΡ GitLab Pages. GitLab Π²Π΅ΡΠ΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ URL ΠΊΡΠΌ Π΄ΡΡΠ³ Π·Π° Π²Π°ΡΠΈΡ ΡΠ°ΠΉΡ Pages, ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» ΠΊΡΠΌ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ. Π’Π°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ½ΠΎΡΠ° Π½Π° ΠΠ΅Π²ΠΈΠ½ ΠΠ°ΡΠ½Π΅Ρ (
Π‘ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Terraform, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΎ ΠΎΡ GitLab
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΎΡΡΡΠΏΡΡ Π΄ΠΎ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Terraform Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅, ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Terraform, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΎ ΠΎΡ GitLab, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΎΡ GitLab 13.4. ΠΠ΅ΡΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π·Π° Π½ΠΎΠ²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΡΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Terraform. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° Terraform ΡΠ΅ Π±ΡΠ΄Π°Ρ
ΠΠ°ΠΆΠ½ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° Π΄ΠΎΠΊΠ»Π°Π΄Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈ
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠΎΠ³Π°ΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠ΅ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΅ Π±ΠΈΠ» ΠΎΡΠ²ΠΎΡΠ΅Π½ ΡΠΈΠ³Π½Π°Π»ΡΡ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ Π΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π½ΠΎ Π΄Π°Π΄Π΅Π½ΠΎ ΡΡΠ±ΠΈΡΠΈΠ΅. Π’Π΅Π·ΠΈ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ ΡΠ΅ΡΡΠΎ ΡΠ° ΠΊΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π²ΡΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π²ΡΡΡ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ Π²Π°ΡΠΈΡΡ Π΅ΠΊΠΈΠΏ. Π Π½ΠΎΠ²ΠΈΡ ΠΏΠ°Π½Π΅Π» Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ° ΠΏΠΎΠΊΠ°Π·Π²Π°ΠΌΠ΅ Π½Π°ΡΠ°Π»Π½ΠΈΡ ΡΠ°Ρ Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ, Π±ΡΠΎΡ Π½Π° ΡΡΠ±ΠΈΡΠΈΡΡΠ° ΠΈ Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π». Π’Π°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π° Π·Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΎΡ ΡΠΈΠ³Π½Π°Π»ΠΈ.
ΠΠ°Π΄Π°Π²Π°Π½Π΅ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° Π·Π° ΡΠ΅ΠΆΠ΅ΡΡ Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ°
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
ΠΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π‘Π΅ΡΠΈΠΎΠ·Π½ΠΎΡΡ Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ΅Π°Π³ΠΈΡΠ°ΡΠΈΡΠ΅ ΠΈ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π²ΡΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ΡΠΎ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ ΠΈ ΡΠΏΠ΅ΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π°ΠΊΡΠΈΡΡΠ°. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π²Π°ΡΠΈΡΡ Π΅ΠΊΠΈΠΏ ΡΠΏΠΎΠ΄Π΅Π»Ρ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ° ΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ, ΡΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ°Π·ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°. ΠΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΡΠ΅ ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ Π² Π΄ΡΡΠ½Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ½Π° Π»Π΅Π½ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π·Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ° ΠΈ ΡΠ΅ΠΆΠ΅ΡΡΡΠ° ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π² ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈ.
Π‘ΡΠ·Π΄Π°Π²Π°ΠΉΡΠ΅, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΠΉΡΠ΅ ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°ΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
(ΠΠ ΠΠΠ, ΠΠΠΠ’ΠΠ)
Π’ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°Ρ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Ρ ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°Ρ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π°ΠΏΡΠ°Π²ΠΎ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° GitLab. Π€ΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΡΠ΅ΠΆΠΈΠΌ .yaml
Π·Π° Π½Π°ΠΏΡΠ΅Π΄Π½Π°Π»ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Ρ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° Π½Π°ΡΠΈΠ½Π°Π΅ΡΠΈΡΠ΅ Π² ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π² ΡΠ°Π·Π΄Π΅Π»Π° Π‘ΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ > Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΠΏΠ»Π°Ρ
ΠΈ > ΠΡΠ°Π²ΠΈΠ»Π° (Π‘ΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ > Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΠΏΠ»Π°Ρ
ΠΈ > ΠΠΎΠ»ΠΈΡΠΈΠΊΠΈ).
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Azure blob
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
GitLab ΠΈ GitLab Runner Π²Π΅ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ
GitLab Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Azure Π·Π° Π²ΡΠΈΡΠΊΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ LFS ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, CI Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ ΠΈ
ΠΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° GitLab ΡΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Azure Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ [runners.cache.azure]
Omnibus ARM64 ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° Ubuntu ΠΈ OpenSUSE
(CORE, STARTER, PREMIUM, ULTIMATE)
Π ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° Π½Π°ΡΠ°ΡΡΠ²Π°ΡΠΎΡΠΎ ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° GitLab Π·Π° 64-Π±ΠΈΡΠΎΠ²Π° ARM Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΠ²ΠΈΠ΅ΡΠΎ Π΄Π° ΠΎΠ±ΡΠ²ΠΈΠΌ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ ARM64 Ubuntu 20.04 Omnibus. ΠΠ³ΡΠΎΠΌΠ½ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈ Π½Π° Zitai Chen ΠΈ Guillaume Gardet Π·Π° ΠΎΠ³ΡΠΎΠΌΠ½ΠΈΡ ΠΏΡΠΈΠ½ΠΎΡ, ΠΊΠΎΠΉΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π° - ΡΠ΅Ρ Π½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ»ΠΈΠ²Π°Π½Π΅ Π±ΡΡ Π° ΠΊΠ»ΡΡΠΎΠ²Π° ΡΠ°ΡΡ ΠΎΡ ΡΠΎΠ²Π°!
ΠΠ° Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΡΠ΅ ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ° Π·Π° Ubuntu 20.04, ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° Π½Π°ΡΠΈΡ Ubuntu
.
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΌΠ°ΡΡ ΠΊΠ°ΡΡΠ° Π·Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ° GitLab Helm
(PREMIUM, ULTIMATE)
Π‘ΠΌΠ°ΡΡ ΠΊΠ°ΡΡΠΈ, ΠΊΠ°ΡΠΎ ΠΊΠ°ΡΡΠΈ Π·Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ Π΄ΠΎΡΡΡΠΏ (CAC), Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ Π½Π° GitLab, Π²Π½Π΅Π΄ΡΠ΅Π½Π° ΡΡΠ΅Π· Helm chart. Π‘ΠΌΠ°ΡΡ ΠΊΠ°ΡΡΠΈΡΠ΅ ΡΠ΅ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ ΡΠΏΡΡΠΌΠΎ Π»ΠΎΠΊΠ°Π»Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° X.509 ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ. Π‘ ΡΠΎΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠΌΠ°ΡΡ ΠΊΠ°ΡΡΠΈ Ρ Helm chart Π²Π΅ΡΠ΅ Π΅ Π² ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠΌΠ°ΡΡ ΠΊΠ°ΡΡΠΈ, Π½Π°Π»ΠΈΡΠ½Π° Π² Π²Π½Π΅Π΄ΡΡΠ²Π°Π½ΠΈΡΡΠ° Π½Π° Omnibus.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΈ Π±Π΅Π»Π΅ΠΆΠΊΠΈ ΠΏΠΎ Π²Π΅ΡΡΠΈΡΡΠ° ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° Π½Π°Π΄Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅/ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈ:
Π Π°Π±ΠΎΡΠΈ Π²ΡΡΡ
Ρ ΠΏΡΠ΅Π²ΠΎΠ΄Π° ΠΎΡ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com