Π‘ΠΈΡ‚ΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΈ ДТСнкинс ΠΈ GitLab CI/CD

ΠŸΡ€Π΅Π· послСдното дСсСтилСтиС бСшС постигнат Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½ Π½Π°ΠΏΡ€Π΅Π΄ΡŠΠΊ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° инструмСнти Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° интСграция (Continuous Integration, CI) ΠΈ Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ внСдряванС (Continuous Delivery, CD). Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡ‚Π΅ Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΈ Сксплоатацията Π½Π° софтуСр (Development Operations, DevOps) Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π±ΡŠΡ€Π·ΠΎ нарастванС Π½Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅Ρ‚ΠΎ Π½Π° CI/CD инструмСнти. Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ сС подобряват, ΠΎΠΏΠΈΡ‚Π²Π°ΠΉΠΊΠΈ сС Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π² ΠΊΡ€Π°ΠΊ с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, ΠΈΠ·Π»ΠΈΠ·Π°Ρ‚ Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΈΠΌ вСрсии, Π² свСта Π½Π° софтуСра Π·Π° осигуряванС Π½Π° качСството (Quality Assurance, QA) Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ сС появяват ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈ. Π‘ Ρ‚Π°ΠΊΡŠΠ² Π±ΠΎΠ³Π°Ρ‚ ΠΈΠ·Π±ΠΎΡ€, ΠΈΠ·Π±ΠΎΡ€ΡŠΡ‚ Π½Π° правилния инструмСнт Π½Π΅ Π΅ лСсна Π·Π°Π΄Π°Ρ‡Π°.

Π‘ΠΈΡ‚ΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΈ ДТСнкинс ΠΈ GitLab CI/CD

Π‘Ρ€Π΅Π΄ всички ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ CI / CD инструмСнти ΠΈΠΌΠ° Π΄Π²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ си струва Π΄Π° сС ΠΎΠ±ΡŠΡ€Π½Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° някой, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚ΡŠΡ€ΡΠΈ Π½Π΅Ρ‰ΠΎ ΠΎΡ‚ Ρ‚Π°Π·ΠΈ област. Π“ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Jenkins ΠΈ инструмСнта GitLab CI / CD, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ част ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° GitLab. ДТСнкинс ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 16000 Π·Π²Π΅Π·Π΄ΠΈ Π² GitHub. Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° GitLab Π½Π° gitlab.com отбСляза ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ 2000 Π·Π²Π΅Π·Π΄ΠΈ. Ако сравним популярността Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ‚Π°, сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ ДТСнкинс Π΅ отбСлязал 8 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π²Π΅Π·Π΄ΠΈ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, която Π²ΠΊΠ»ΡŽΡ‡Π²Π° GitLab CI / CD. Но ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚Π΅ CI / CD инструмСнт, Ρ‚ΠΎΠ²Π° Π΄Π°Π»Π΅Ρ‡ Π½Π΅ Π΅ СдинствСният ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ трябва Π΄Π° ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. Има ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ ΠΈ Ρ‚ΠΎΠ²Π° обяснява Π·Π°Ρ‰ΠΎ Π² ΠΌΠ½ΠΎΠ³ΠΎ сравнСния Jenkins ΠΈ GitLab CI / CD са ΠΌΠ½ΠΎΠ³ΠΎ Π±Π»ΠΈΠ·ΠΊΠΈ Π΅Π΄ΠΈΠ½ Π΄ΠΎ Π΄Ρ€ΡƒΠ³.

Π’Π·Π΅ΠΌΠ΅Ρ‚Π΅ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° G2, която Π½Π°Ρ‚Ρ€ΡƒΠΏΠ²Π° ΠΎΡ‚Π·ΠΈΠ²ΠΈ Π·Π° голямо Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈ ΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ ΠΈΠΌ Π΄Π°Π²Π°Ρ‚. Π•Ρ‚ΠΎ срСдната ΠΎΡ†Π΅Π½ΠΊΠ° ДТСнкинс, въз основа Π½Π° 288 ΠΎΡ‚Π·ΠΈΠ²Π°, Π΅ 4,3 Π·Π²Π΅Π·Π΄ΠΈ. ΠžΡ… ΠΎΡ… GitLab ΠΈΠΌΠ° 270 ΠΎΡ‚Π·ΠΈΠ²Π°, срСдната ΠΎΡ†Π΅Π½ΠΊΠ° Π·Π° Ρ‚ΠΎΠ·ΠΈ инструмСнт Π΅ 4,4 Π·Π²Π΅Π·Π΄ΠΈ. Няма Π΄Π° ΡΠ³Ρ€Π΅ΡˆΠΈΠΌ, Π°ΠΊΠΎ ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ Jenkins ΠΈ GitLab CI / CD сС ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€Π°Ρ‚ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си ΠΏΡ€ΠΈ Ρ€Π°Π²Π½ΠΈ условия. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ Π΅ Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Jenkins сС появи ΠΏΡ€Π΅Π· 2011 Π³. ΠΈ ΠΎΡ‚Ρ‚ΠΎΠ³Π°Π²Π° Π΅ любим инструмСнт Π·Π° тСстСри. Но Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ GitLab CI / CD, стартиран ΠΏΡ€Π΅Π· 2014 Π³., Π·Π°Π΅ своята позиция, ΠΌΠ½ΠΎΠ³ΠΎ висока, Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π½ΠΈ ΠΎΡ‚ Ρ‚Π°Π·ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°.

Ако Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° популярността Π½Π° Jenkins Π² сравнСниС с Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ, отбСлязвамС, Ρ‡Π΅ Π½ΠΈΠ΅, слСд ΠΊΠ°Ρ‚ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ…ΠΌΠ΅ статия, сравняваща ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ Travis CI ΠΈ Jenkins, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ ΠΏΡ€ΠΎΡƒΡ‡Π²Π°Π½Π΅. Π’ Π½Π΅Π³ΠΎ участваха 85 ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. АнкСтиранитС бяха ΠΏΠΎΠΌΠΎΠ»Π΅Π½ΠΈ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π°Ρ‚ CI/CD инструмСнта, ΠΊΠΎΠΉΡ‚ΠΎ харСсват Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ. 79% са ΠΈΠ·Π±Ρ€Π°Π»ΠΈ Jenkins, 5% са ΠΈΠ·Π±Ρ€Π°Π»ΠΈ Travis CI, Π° 16% са посочили, Ρ‡Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈ инструмСнти.

Π‘ΠΈΡ‚ΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΈ ДТСнкинс ΠΈ GitLab CI/CD
Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΎΡ‚ Π°Π½ΠΊΠ΅Ρ‚Π°Ρ‚Π°

Π‘Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ CI/CD инструмСнти Π½Π°ΠΉ-чСсто сС спомСнава GitLab CI/CD.

Ако стС сСриозни Π·Π° DevOps, Ρ‚ΠΎΠ³Π°Π²Π° трябва Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ подходящитС инструмСнти, ΠΊΠ°Ρ‚ΠΎ Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ спСцификата Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, нСговия Π±ΡŽΠ΄ΠΆΠ΅Ρ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ изисквания. Π—Π° Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ΠΌ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ правилния ΠΈΠ·Π±ΠΎΡ€, Ρ‰Π΅ ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°ΠΌΠ΅ Jenkins ΠΈ GitLab CI/CD. НадявамС сС, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ правилния ΠΈΠ·Π±ΠΎΡ€.

Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ДТСнкинс

Π‘ΠΈΡ‚ΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΈ ДТСнкинс ΠΈ GitLab CI/CD
ДТСнкинс Π΅ Π΄ΠΎΠ±Ρ€Π΅ извСстСн, гъвкав CI/CD инструмСнт, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π° ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Ρ‡ΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ със софтуСрни ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. Jenkins Π΅ написан изцяло Π½Π° Java ΠΈ Π΅ пуснат ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·Π° Π½Π° MIT. Π’ΠΎΠΉ ΠΈΠΌΠ° ΠΌΠΎΡ‰Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, насочСни към Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ, тСстванСто, внСдряванСто, ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ ΠΈ пусканСто Π½Π° софтуСр. Π’ΠΎΠ·ΠΈ инструмСнт ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми. Π’Π΅ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ macOS, Windows ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Linux дистрибуции ΠΊΠ°Ρ‚ΠΎ OpenSUSE, Ubuntu ΠΈ Red Hat. Има инсталационни ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π·Π° Jenkins, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми, Ρ‚ΠΎΠ·ΠΈ инструмСнт ΠΌΠΎΠΆΠ΅ Π΄Π° сС инсталира Π½Π° Docker ΠΈ Π½Π° всяка систСма, която ΠΈΠΌΠ° JRE (Java Runtime Environment).

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Jenkins ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…Π° Π΄Ρ€ΡƒΠ³ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Jenkins X, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² срСда Π½Π° Kubernetes. Jenkins X ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π° Helm, Jenkins CI/CD Server, Kubernetes ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ инструмСнти Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° CI/CD Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ слСдват Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π½Π° DevOps. НапримСр, GitOps сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚ΡƒΠΊ.

Към ΡΡŠΠΊΡ€ΠΎΠ²ΠΈΡ‰Π½ΠΈΡ†Π°Ρ‚Π° Π½Π° прСдимствата Π½Π° Jenkins ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π΄ΠΎΠ±Π°Π²ΠΈ Ρ„Π°ΠΊΡ‚ΡŠΡ‚, Ρ‡Π΅ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ скриптовС са ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€Π΅ структурирани, Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌΠΈ ΠΈ лСсни Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅. Π•ΠΊΠΈΠΏΡŠΡ‚ Π½Π° Jenkins Π΅ създал ΠΎΠΊΠΎΠ»ΠΎ 1000 Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са насочСни към ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° взаимодСйствиСто Π½Π° Jenkins с голямо Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΎΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π΅Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ систСми Π·Π° удостовСряванС, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²ΠΈ позволява Π΄Π° сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚Π΅ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈ систСми.

По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° Π½Π° Jenkins ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ сС случва Π½Π° всяка ΡΡ‚ΡŠΠΏΠΊΠ°, Π΄Π°Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π΅Ρ‚Π°ΠΏΠΈ ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° са Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³Π»Π΅Π΄Π°Ρ‚Π΅ всичко Ρ‚ΠΎΠ²Π°, Π½ΠΎ Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅Π½ интСрфСйс, Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

Π₯арактСристики Π½Π° ДТСнкинс

Π‘Ρ€Π΅Π΄ Π΄ΠΎΠ±Ρ€Π΅ ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈΡ‚Π΅ характСристики Π½Π° Jenkins са лСсна настройка, високо Π½ΠΈΠ²ΠΎ Π½Π° автоматизация Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½Π° докумСнтация. Ако Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ DevOps, Ρ‚ΠΎΠ³Π°Π²Π° ДТСнкинс сС счита Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ инструмСнт, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΊΠΎΠΉΡ‚ΠΎ, ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, няма смисъл Π΄Π° сС слСди ΠΎΡ‚Π±Π»ΠΈΠ·ΠΎ цСлия процСс Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ΠΎΠ²Π° Π½Π΅ Π΅ случаят с Π΄Ρ€ΡƒΠ³ΠΈ CI/CD инструмСнти. НСка ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° някои ΠΎΡ‚ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈΡ‚Π΅ характСристики Π½Π° Jenkins.

▍1. Π‘Π΅Π·ΠΏΠ»Π°Ρ‚Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

Jenkins ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° macOS, Windows ΠΈ Linux ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ. МоТС Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΈ Π² Docker срСда, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ ΠΈ Π±ΡŠΡ€Π·ΠΎ изпълнСниС Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ΠΎΠ·ΠΈ инструмСнт ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈ ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ€Π²Π»Π΅Ρ‚ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ с Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ Java ΠΊΠ°Ρ‚ΠΎ Apache Tomcat ΠΈ GlassFish. Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Jenkins качСствСно Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½.

▍2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° плъгин СкосистСма

ЕкосистСмата Π½Π° ΠΏΠ»ΡŠΠ³ΠΈΠ½ΠΈΡ‚Π΅ Π½Π° Jenkins ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-зряла ΠΎΡ‚ СкосистСмитС Π½Π° ΠΏΠ»ΡŠΠ³ΠΈΠ½ΠΈΡ‚Π΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ CI/CD инструмСнти. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΠΌΠ° Π½Π°Π΄ 1500 Π΄ΠΎΠ±Π°Π²ΠΊΠΈ Π·Π° Jenkins. Π’Π΅Π·ΠΈ плъгини са насочСни към Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΡˆΠΈΡ€ΠΎΠΊ ΡΠΏΠ΅ΠΊΡ‚ΡŠΡ€ ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ, с тяхна ΠΏΠΎΠΌΠΎΡ‰ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. Π˜Π·ΠΎΠ±ΠΈΠ»ΠΈΠ΅Ρ‚ΠΎ ΠΎΡ‚ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΈ плъгини, ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π° ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚Π΅, ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Jenkins, Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° ΠΊΡƒΠΏΡƒΠ²Π°Ρ‚Π΅ скъпи ΠΏΠ»Π°Ρ‚Π΅Π½ΠΈ плъгини. Има Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ интСграция ДТСнкинс с ΠΌΠ½ΠΎΠ³ΠΎ DevOps инструмСнти.

▍3. ЛСсна инсталация ΠΈ настройка

Jenkins Π΅ доста лСсСн Π·Π° инсталиранС ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° систСмата ΡΡŠΡ‰ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π΅Π½. Π’ΡƒΠΊ ΠΎΡ‚Π½ΠΎΠ²ΠΎ си струва Π΄Π° спомСнСм качСството Π½Π° докумСнтацията, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π² нСя ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΡŠΠΏΡ€ΠΎΡΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с инсталиранСто ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Jenkins.

▍4. ΠŸΡ€ΠΈΡΡ‚Π΅Π»ΡΠΊΠ° общност

ΠšΠ°ΠΊΡ‚ΠΎ Π²Π΅Ρ‡Π΅ спомСнахмС, Jenkins Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, чиято СкосистСма Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΎΠ³Ρ€ΠΎΠΌΠ΅Π½ Π±Ρ€ΠΎΠΉ плъгини. Голяма общност ΠΎΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ сС Ρ€Π°Π·Π²ΠΈ ΠΎΠΊΠΎΠ»ΠΎ ДТСнкинс, Π·Π° Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠžΠ±Ρ‰Π½ΠΎΡΡ‚Ρ‚Π° Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π²ΠΈΠΆΠ°Ρ‚ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° Jenkins.

▍5. НаличиС Π½Π° REST API

Π”ΠΎΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ с Jenkins, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ REST API, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° систСмата. API Π·Π° ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ систСмата Π΅ прСдставСн Π² Ρ‚Ρ€ΠΈ вСрсии: XML, JSON с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° JSONP, Python. Ρ‚ΡƒΠΊ Π΅ Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° с докумСнтация, ΠΎΠ±Ρ…Π²Π°Ρ‰Π°Ρ‰Π° подробности Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с Jenkins REST API.

▍6. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ

Jenkins ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° DevOps Π·Π°Π΄Π°Ρ‡ΠΈ. МоТС лСсно Π΄Π° сС ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π° със ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ инструмСнти ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° извСстия Π·Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅. ВСстванСто Π½Π° ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ускори Ρ‡Ρ€Π΅Π· ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини.

▍7. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ срСди

Jenkins Π²ΠΈ позволява Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° мноТСство ΠΊΠΎΠΌΠΏΡŽΡ‚Ρ€ΠΈ. Π’Π°Π·ΠΈ функция Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌΠ° Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° схСма Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°, спорСд която ΠΈΠΌΠ° Π΅Π΄ΠΈΠ½ Π³Π»Π°Π²Π΅Π½ Jenkins ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ няколко ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½ΠΈ машини. ΠŸΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½ΠΈΡ‚Π΅ машини ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΈ Π² ситуации, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π° тСстванС Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ срСди. Π’Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π°Ρ‚ Jenkins ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ.

Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² GitLab

Π‘ΠΈΡ‚ΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΈ ДТСнкинс ΠΈ GitLab CI/CD
GitLab CI/CD ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°Ρ€Π΅Ρ‡Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΈ ΠΎΠ±ΠΈΡ‡Π°Π½ΠΈ DevOps инструмСнти. Π’ΠΎΠ·ΠΈ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ инструмСнт с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π΅ Π²Π³Ρ€Π°Π΄Π΅Π½ Π² систСмата Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° вСрсиитС GitLab. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° GitLab ΠΈΠΌΠ° общностна вСрсия, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, инструмСнти Π·Π° прослСдяванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, организация Π½Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° ΠΊΠΎΠ΄Π°, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΈ към докумСнтацията. ΠšΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° инсталират GitLab Π»ΠΎΠΊΠ°Π»Π½ΠΎ, ΠΊΠ°Ρ‚ΠΎ Π³ΠΎ ΡΠ²ΡŠΡ€ΠΆΠ°Ρ‚ с Active Directory ΠΈ LDAP ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π·Π° сигурна потрСбитСлска авторизация ΠΈ удостовСряванС.

Ρ‚ΡƒΠΊ Π΅ Π’ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ CI/CD ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° GitLab CI/CD.

GitLab CI/CD ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ бСшС пуснат ΠΊΠ°Ρ‚ΠΎ самостоятСлСн ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π½ΠΎ ΠΏΡ€Π΅Π· 2015 Π³. Ρ‚ΠΎΠ·ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ инструмСнти бСшС ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ Π² GitLab 8.0. Π•Π΄ΠΈΠ½ GitLab CI/CD ΡΡŠΡ€Π²ΡŠΡ€ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π½Π°Π΄ 25000 XNUMX ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. Π’ΡŠΠ· основа Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ систСми, ΠΊΠΎΠΈΡ‚ΠΎ са високо Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ.

GitLab CI/CD ΠΈ основният ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° GitLab са написани Π½Π° Ruby ΠΈ Go. Π’Π΅ са пуснати ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·Π° Π½Π° MIT. GitLab CI/CD, Π² допълнСниС към ΠΎΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° CI/CD инструмСнтитС, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° GitLab CI/CD Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ лСсно. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ GitLab CI/CD, ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° Π΅Ρ‚Π°ΠΏΠΈ, всСки ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ няколко Π·Π°Π΄Π°Ρ‡ΠΈ, изпълнявани Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ€Π΅Π΄. Π—Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅Ρ†ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ.

Π—Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ. Π‘Π»Π΅Π΄ настройка Π½Π° послСдоватСлността ΠΎΡ‚ Π΅Ρ‚Π°ΠΏΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, CI/CD Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΡŠΡ‚ Π΅ Π³ΠΎΡ‚ΠΎΠ² Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚Π΅ Π½Π°ΠΏΡ€Π΅Π΄ΡŠΠΊΠ° ΠΌΡƒ, ΠΊΠ°Ρ‚ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚Π΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈΡ‚Π΅. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° GitLab CI / CD Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΏΠΎ-ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ инструмСнти.

Π₯арактСристики Π½Π° GitLab CI/CD ΠΈ GitLab

GitLab CI/CD Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π½Π°ΠΉ-популярнитС DevOps инструмСнти. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ сС ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π° с висококачСствСна докумСнтация, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΠΌΡƒ са лСсни ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. Ако всС ΠΎΡ‰Π΅ Π½Π΅ стС Π·Π°ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ с GitLab CI/CD, слСдният списък с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Ρ‚ΠΎΠ·ΠΈ инструмСнт Ρ‰Π΅ Π²ΠΈ Π΄Π°Π΄Π΅ ΠΎΠ±Ρ‰Π° прСдстава Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΡ‡Π°ΠΊΠ²Π°Ρ‚Π΅ ΠΎΡ‚ Π½Π΅Π³ΠΎ. Врябва Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ със самата ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° GitLab, Π² която Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ GitLab CI / CD.

▍1. ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚

GitLab CI/CD Π΅ сравнитСлно Π½ΠΎΠ² инструмСнт, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π°ΠΌΠ΅Ρ€ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. GitLab CI/CD Π±Π°Π²Π½ΠΎ сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π° Π² ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ популярСн CI/CD инструмСнт, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ тСстванС ΠΈ внСдряванС Π½Π° софтуСр. ЛСсно сС настройва. ОсвСн Ρ‚ΠΎΠ²Π° Π΅ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ CI/CD инструмСнт, Π²Π³Ρ€Π°Π΄Π΅Π½ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° GitLab.

▍2. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° GitLab Pages ΠΈ Jekyll

Jekyll Π΅ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° статичСн сайт, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° систСмата GitLab Pages Π·Π° създаванС Π½Π° сайтовС, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π½Π° GitLab. БистСмата Π²Π·Π΅ΠΌΠ° ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈ ΠΈ Π½Π° тяхна Π±Π°Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π³ΠΎΡ‚ΠΎΠ² статичСн сайт. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Ρ‚Π΅ външния Π²ΠΈΠ΄ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° сайтовС, ΠΊΠ°Ρ‚ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ Ρ„Π°ΠΉΠ»Π° _config.yml, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΎΡ‚ Jekyll.

▍3. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° Π΅Ρ‚Π°ΠΏΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ‚Π΅ сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° удобството Π·Π° прослСдяванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ Π³Ρ€ΡƒΠΏΠΈ. Π’ΠΎΠ²Π° Π²ΠΈ позволява Π΄Π° управляватС организацията Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, Π΄Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Ρ‚Π΅ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈΠΌ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π΄Π°Ρ‚Π°.

▍4. Автоматично ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° CI Π±Π΅Π³Π°Ρ‡ΠΈ

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° Π±Π΅Π³Π°Ρ‡ΠΈΡ‚Π΅, ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° спСститС ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° Π½Π°Π΅ΠΌΠ°Π½Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π΅Π½ ΠΊΠ°ΠΏΠ°Ρ†ΠΈΡ‚Π΅Ρ‚. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ, особСно ΠΊΠΎΠ³Π°Ρ‚ΠΎ става Π΄ΡƒΠΌΠ° Π·Π° срСди, Π² ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ‚Π΅ сС тСстват ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ. Π’ допълнСниС, Ρ‚ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, ΡΡŠΡΡ‚ΠΎΡΡ‰ΠΈ сС ΠΎΡ‚ няколко Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.

▍5. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° прослСдяванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ

ΠœΠΎΡ‰Π½ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° GitLab Π·Π° прослСдяванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π°ΠΊΠ°Ρ€Π°Ρ…Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. GitLab CI/CD позволява ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ тСстванС Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ разклонСния Π½Π° ΠΊΠΎΠ΄Π°. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ тСстовСтС сС Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π² систСмния интСрфСйс. Π’ΠΎΠ²Π° ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π° GitLab CI/CD ΠΎΡ‚ Jenkins.

▍6. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° GitLab ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. НапримСр, Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ си ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π°Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, подходящи Π·Π° Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ Ρ€ΠΎΠ»ΠΈ. Π’ΠΎΠ²Π° Π²Π°ΠΆΠΈ особСно Π·Π° ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ.

▍7. Активна общСствСна ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ°

Около GitLab сС Ρ€Π°Π·Π²ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Π° общност, която допринася Π·Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π°Π·ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈ Π½Π΅ΠΉΠ½ΠΈΡ‚Π΅ инструмСнти, ΠΏΠΎ-спСциално GitLab CI / CD. Π”ΡŠΠ»Π±ΠΎΠΊΠ°Ρ‚Π° интСграция Π½Π° GitLab CI/CD ΠΈ GitLab, Π½Π°Ρ€Π΅Π΄ с Π΄Ρ€ΡƒΠ³ΠΈ Π½Π΅Ρ‰Π°, улСснява Π½Π°ΠΌΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с GitLab CI/CD.

▍8. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ систСми Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° вСрсиитС

GitLab CI/CD Π΅ систСма, която ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ просто ΠΊΠΎΠ΄, хостван Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ‚Π° Π½Π° GitLab. НапримСр, ΠΊΠΎΠ΄ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° GitHub, Π° Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΡŠΡ‚ CI / CD ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° GitLab с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° GitLab CI / CD.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° Jenkins ΠΈ GitLab CI/CD

Jenkins ΠΈ GitLab CI/CD са ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Ρ€ΠΈ инструмСнти, ΠΊΠ°Ρ‚ΠΎ ΠΈ Π΄Π²Π°Ρ‚Π° са Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π΄Π° Π½Π°ΠΊΠ°Ρ€Π°Ρ‚ CI/CD Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π³Π»Π°Π΄ΠΊΠΎ. Но Π°ΠΊΠΎ Π³ΠΈ сравнитС, сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ са сходни ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Ρ‡ΠΈΠ½ΠΈ, Ρ‚Π΅ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ‚ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ ΠΏΠΎ някои Π½Π°Ρ‡ΠΈΠ½ΠΈ.

ΠžΡ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΈΡ€Π°Π½Π΅
ДТСнкинс
GitLab CI/CD

ΠžΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄
ΠžΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄
ΠžΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

Π˜Π½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ
Π—Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ.
НС Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° Π΅ Π²Π³Ρ€Π°Π΄Π΅Π½Π° функция Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° GitLab.

Π£Π½ΠΈΠΊΠ°Π»Π½ΠΈ характСристики
ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° плъгини.
Π”ΡŠΠ»Π±ΠΎΠΊΠ° интСграция Π² систСмата Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° вСрсиитС.

ΠŸΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ°
Няма.
На Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅
Врудности Π½Π΅ причиняват
Врудности Π½Π΅ причиняват

Π‘Π°ΠΌΠΎΡ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° систСмата
Π’ΠΎΠ²Π° Π΅ СдинствСният Π½Π°Ρ‡ΠΈΠ½ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ систСмата.
ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС.

БъздаванС Π½Π° CI/CD Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈ
ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Jenkins Pipeline.
ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС.

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° производитСлността Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ
Няма.
На Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

СкосистСма
Има над 1000 добавки.
БистСмата сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° GitLab.

API
ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΡƒΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π°Π½Π° API систСма.
ΠŸΡ€Π΅Π΄Π»Π°Π³Π° API Π·Π° ΠΏΠΎ-дълбока интСграция Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ.

ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° JavaScript
На Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
На Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Π΄Ρ€ΡƒΠ³ΠΈ инструмСнти
ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС интСграция с Π΄Ρ€ΡƒΠ³ΠΈ инструмСнти ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ (Slack, GitHub).
Много инструмСнти Π·Π° интСграция със систСми Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈ страни, ΠΏΠΎ-спСциално - с GitHub ΠΈ Kubernetes.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° качСството Π½Π° ΠΊΠΎΠ΄Π°
ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС - ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° плъгина SonarQube ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ плъгини.
ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС.

Π Π°Π·Π»ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Jenkins ΠΈ GitLab CI/CD

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ описахмС ΠΈ сравнихмС Jenkins ΠΈ GitLab CI/CD, Π½Π΅ΠΊΠ° сС ΡΡŠΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΠΌ Π²ΡŠΡ€Ρ…Ρƒ Ρ€Π°Π·Π»ΠΈΠΊΠΈΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅Π·ΠΈ DevOps инструмСнти. ΠŸΠΎΠ·Π½Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Π·ΠΈ Ρ€Π°Π·Π»ΠΈΠΊΠΈ Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ инструмСнти ΠΏΡ€Π΅Π΄ другия.

  • GitLab CI/CD ΠΌΠΎΠΆΠ΅ напълно Π΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ‚Π° Π½Π° Git. Π“ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈ някои Π΄Ρ€ΡƒΠ³ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Но Jenkins, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, Π½Π΅ Π΄Π°Π²Π° ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π²ΡŠΡ€Ρ…Ρƒ тях ΠΊΠ°Ρ‚ΠΎ GitLab CI / CD.
  • Jenkins Π΅ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄. Π’ΠΎΠ·ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ Π³ΠΎ ΠΈΠ·Π±ΠΈΡ€Π°, Π³ΠΎ Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π° самостоятСлно. И GitLab CI / CD Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° GitLab, Ρ‚ΠΎΠ²Π° Π΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.
  • GitLab CI/CD ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ инструмСнти Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ работят Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’Π°Π·ΠΈ страна Π½Π° ДТСнкинс Π΅ ΠΏΠΎ-слабо Ρ€Π°Π·Π²ΠΈΡ‚Π°.

Jenkins ΠΈ GitLab CI/CD: силни ΠΈ слаби страни

Π’Π΅Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚Π΅ някаква прСдстава Π·Π° Jenkins ΠΈ GitLab CI/CD. Π‘Π΅Π³Π°, Π·Π° Π΄Π° Π²ΠΈ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ ΠΎΡ‰Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ с Ρ‚Π΅Π·ΠΈ инструмСнти, Π½Π΅ΠΊΠ° Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ силни ΠΈ слаби страни. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΠΌΠ΅, Ρ‡Π΅ Π²Π΅Ρ‡Π΅ стС Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΊΠΎΠΉ инструмСнт Π²ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ. НадявамС сС, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ Ρ€Π°Π·Π΄Π΅Π» Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° тСстватС сСбС си.

▍БилнитС страни Π½Π° ДТСнкинс

  • Голям Π±Ρ€ΠΎΠΉ плъгини.
  • ПълСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π²ΡŠΡ€Ρ…Ρƒ ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ° Π½Π° инструмСнта.
  • ЛСсно отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π½Π° Π±Π΅Π³Π°Ρ‡ΠΈ.
  • ЛСсна настройка Π½Π° възСл.
  • ЛСсно внСдряванС Π½Π° ΠΊΠΎΠ΄.
  • Много Π΄ΠΎΠ±Ρ€Π° систСма Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° удостовСрСния.
  • Π“ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚ ΠΈ многофункционалност.
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΅Π·ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅.
  • БистСмата Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌΠ° Π½Π° ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ Π½ΠΈΠ²ΠΎ.

▍Блабости Π½Π° ДТСнкинс

  • ΠŸΡ€ΠΈΡΡ‚Π°Π²ΠΊΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Ρ‚Ρ€ΡƒΠ΄Π½ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅.
  • ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Jenkins Π² ΠΌΠ°Π»ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° самостоятСлно ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅, ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π΅ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ голямо.
  • Липса Π½Π° ΠΎΠ±Ρ‰Π° Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π½Π° информация Π·Π° CI/CD Π²Π΅Ρ€ΠΈΠ³ΠΈ.

▍Билни страни Π½Π° GitLab CI/CD

  • Π”ΠΎΠ±Ρ€Π° интСграция с Docker.
  • ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅ Π½Π° Π±Π΅Π³Π°Ρ‡ΠΈΡ‚Π΅.
  • ΠŸΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са част ΠΎΡ‚ Π΅Ρ‚Π°ΠΏΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° CI/CD.
  • ИзползванС Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° насочСна Π°Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΡ€ΠΈ настройванС Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠΈ Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ.
  • Високо Π½ΠΈΠ²ΠΎ Π½Π° мащабируСмост ΠΏΠΎΡ€Π°Π΄ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС Π½Π° Π±Π΅Π³Π°Ρ‡ΠΈ.
  • ЛСсно добавянС Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ.
  • ЛСсно Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ.
  • НадСТдна систСма Π·Π° сигурност.

▍Блабости Π½Π° GitLab CI/CD

  • Π—Π° всяка Π·Π°Π΄Π°Ρ‡Π° трябва Π΄Π° ΠΎΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΈ ΠΊΠ°Ρ‡ΠΈΡ‚Π΅ / ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΡ‚Π΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΈ.
  • НС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° тСстватС Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ сливанСто Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅, ΠΏΡ€Π΅Π΄ΠΈ Ρ‚Π΅ дСйствитСлно Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ слСти.
  • ΠšΠΎΠ³Π°Ρ‚ΠΎ сС описват Π΅Ρ‚Π°ΠΏΠΈΡ‚Π΅ Π½Π° Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° CI / CD, всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ възмоТно Π΄Π° сС отдСлят ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Π΅Ρ‚Π°ΠΏΠΈ Π² тях.

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΎΡ‚

ΠšΠ°ΠΊΡ‚ΠΎ Jenkins, Ρ‚Π°ΠΊΠ° ΠΈ GitLab CI/CD ΠΈΠΌΠ°Ρ‚ силни ΠΈ слаби страни. ΠžΡ‚Π³ΠΎΠ²ΠΎΡ€ΡŠΡ‚ Π½Π° Π²ΡŠΠΏΡ€ΠΎΡΠ° ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌ зависи ΠΎΡ‚ Π½ΡƒΠΆΠ΄ΠΈΡ‚Π΅ ΠΈ характСристикитС Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ВсСки ΠΎΡ‚ ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°Π½ΠΈΡ‚Π΅ днСс CI/CD инструмСнти ΠΈΠΌΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Ρ‚Π΅Π·ΠΈ инструмСнти са създадСни Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΡΡŠΡ‰ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Jenkins Π΅ самостоятСлСн инструмСнт, Π° GitLab CI / CD Π΅ част ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π·Π° ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠΎΠ΄.

ΠŸΡ€ΠΈ ΠΈΠ·Π±ΠΎΡ€Π° Π½Π° CI / CD систСма, Π² допълнСниС към Π½Π΅ΠΉΠ½ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, струва си Π΄Π° сС Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с нСя, ΠΈ с ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° DevOps, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, са свикнали Π΄Π° работят.

Какви CI/CD инструмСнти ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅?

Π‘ΠΈΡ‚ΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΈ ДТСнкинс ΠΈ GitLab CI/CD

Π‘ΠΈΡ‚ΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΈ ДТСнкинс ΠΈ GitLab CI/CD

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€