Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄
Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° ΠΏΡŠΡ€Π²Π° DevOps Π²Π΅Ρ€ΠΈΠ³Π° Π² ΠΏΠ΅Ρ‚ ΡΡ‚ΡŠΠΏΠΊΠΈ Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ.

DevOps сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π° Π² панацСя Π·Π° Ρ‚Π²ΡŠΡ€Π΄Π΅ Π±Π°Π²Π½ΠΈ, Π½Π΅ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ ΠΈ ΠΈΠ½Π°Ρ‡Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈ процСси Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Но ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ познания Π² DevOps. Π©Π΅ ΠΎΠ±Ρ…Π²Π°Π½Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° DevOps ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ Ρ‚Π°ΠΊΠ°Π²Π° Π² ΠΏΠ΅Ρ‚ ΡΡ‚ΡŠΠΏΠΊΠΈ. Π’ΠΎΠ²Π° Π½Π΅ Π΅ пълно Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ, Π° само "Ρ€ΠΈΠ±Π°", която ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½Π°. Π”Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ с историята.

ΠœΠΎΠ΅Ρ‚ΠΎ въвСдСниС Π² DevOps

ΠŸΡ€Π΅Π΄ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ… с ΠΎΠ±Π»Π°Ρ†ΠΈ Π² Citi Group ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ… IaaS ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½Π°Ρ‚Π° инфраструктура Π½Π° Citi, Π½ΠΎ Π²ΠΈΠ½Π°Π³ΠΈ съм сС интСрСсувал ΠΎΡ‚ Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°ΠΌ Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Π΄Π° подобря ΠΊΡƒΠ»Ρ‚ΡƒΡ€Π°Ρ‚Π° срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅. Π“Ρ€Π΅Π³ Π›Π°Π²Π°Π½Π΄ΡŠΡ€, Π½Π°ΡˆΠΈΡΡ‚ тСхничСски Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ Π·Π° ΠΎΠ±Π»Π°Ρ‡Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ инфраструктура, ΠΌΠΈ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π° Ρ‚Π°Π·ΠΈ ΠΊΠ½ΠΈΠ³Π°. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ЀСникс. Π’ΠΎΠΉ обяснява красиво ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΡ‚Π΅ Π½Π° DevOps ΠΈ сС Ρ‡Π΅Ρ‚Π΅ ΠΊΠ°Ρ‚ΠΎ Ρ€ΠΎΠΌΠ°Π½.

Π’Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Π½Π° Π³ΡŠΡ€Π±Π° ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΊΠΎ чСсто ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡ‚Π΅ пускат Π½ΠΎΠ²ΠΈ вСрсии:

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

Как Amazon, Google ΠΈ Netflix успяват Π΄Π° разпространят Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ? И Ρ‚ΠΎΠ²Π° Π΅ просто: Ρ‚Π΅ измислиха ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π°Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠ΅Ρ€Ρ„Π΅ΠΊΡ‚Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³Π°.

НСщата бяха ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π·Π° нас Π² Citi, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π΅ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Ρ…ΠΌΠ΅ към DevOps. Π’ΠΎΠ³Π°Π²Π° моят Π΅ΠΊΠΈΠΏ имашС Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ срСди, Π½ΠΎ Π½ΠΈΠ΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ доставката Π΄ΠΎ ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€ΡŠΡ‡Π½ΠΎ. Всички Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ ΠΈΠΌΠ°Ρ…Π° Π΄ΠΎΡΡ‚ΡŠΠΏ само Π΄ΠΎ Π΅Π΄ΠΈΠ½ ΡΡŠΡ€Π²ΡŠΡ€ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° IBM WebSphere Application Server Community Edition. ΠŸΡ€ΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π΅Π½ ΠΎΠΏΠΈΡ‚ Π·Π° доставка ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ β€žΠΏΠ°Π΄Π½Π°β€œ ΠΈ всСки ΠΏΡŠΡ‚ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ β€žΠ±ΠΎΠ»Π΅Π·Π½Π΅Π½ΠΎβ€œ Π΄Π° прСговарямС ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си. ОсвСн Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ°Ρ…ΠΌΠ΅ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΏΠΎΠΊΡ€ΠΈΡ‚ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° с тСстовС, ΠΎΡ‚Π½Π΅ΠΌΠ°Ρ‰ Π²Ρ€Π΅ΠΌΠ΅ процСс Π½Π° Ρ€ΡŠΡ‡Π½ΠΎ доставянС ΠΈ нямашС Π½Π°Ρ‡ΠΈΠ½ Π΄Π° прослСдим доставянСто Π½Π° ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° някаква Π·Π°Π΄Π°Ρ‡Π° ΠΈΠ»ΠΈ клиСнтско изискванС.

Π‘Π΅ΡˆΠ΅ ясно, Ρ‡Π΅ спСшно трябва Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Π½Π΅Ρ‰ΠΎ ΠΈ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ… съмишлСник. Π Π΅ΡˆΠΈΡ…ΠΌΠ΅ Π΄Π° създадСм Π·Π°Π΅Π΄Π½ΠΎ ΠΏΡŠΡ€Π²Π°Ρ‚Π° DevOps Π²Π΅Ρ€ΠΈΠ³Π° – Ρ‚ΠΎΠΉ настрои Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ Π·Π° прилоТСния Tomcat, Π° Π°Π· сС ΠΏΠΎΠ³Ρ€ΠΈΠΆΠΈΡ… Π·Π° ДТСнкинс, интСграция с Atlassian Jira ΠΈ BitBucket, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΏΠΎΠΊΡ€ΠΈΡ‚ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄Π° с тСстовС. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ бСшС ΡƒΡΠΏΠ΅ΡˆΠ΅Π½: Π½ΠΈΠ΅ напълно Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, постигнахмС ΠΏΠΎΡ‡Ρ‚ΠΈ 100% ΡŠΠΏΡ‚Π°ΠΉΠΌ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, успяхмС Π΄Π° наблюдавамС ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠΌ ΠΏΠΎΠΊΡ€ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄Π° с тСстовС ΠΈ Git ΠΊΠ»ΠΎΠ½ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΡΠ²ΡŠΡ€Π·Π°Π½ с доставка ΠΈ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Jira. И ΠΏΠΎΡ‡Ρ‚ΠΈ всички инструмСнти, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° DevOps, бяха с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄.

Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° бСшС опростСна, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π΄ΠΎΡ€ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ…ΠΌΠ΅ Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Jenkins ΠΈΠ»ΠΈ Ansible. Но Π½ΠΈΠ΅ успяхмС. МоТС Π±ΠΈ Ρ‚ΠΎΠ²Π° Π΅ слСдствиС ΠΎΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° ΠŸΠ°Ρ€Π΅Ρ‚ΠΎ (извСстСн ΠΎΡ‰Π΅ ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΡ‚ΠΎ 80/20).

ΠšΡ€Π°Ρ‚ΠΊΠΎ описаниС Π½Π° DevOps ΠΈ CI/CD Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π°

DevOps ΠΈΠΌΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΠΈ. DevOps, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° Agile, Π²ΠΊΠ»ΡŽΡ‡Π²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ дисциплини. Но ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Ρ‰Π΅ сС ΡΡŠΠ³Π»Π°ΡΡΡ‚ със слСдното ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅: DevOps Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ»ΠΈ ΠΆΠΈΠ·Π½Π΅Π½ Ρ†ΠΈΠΊΡŠΠ» Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° софтуСр, Ρ‡ΠΈΠΉΡ‚ΠΎ основСн ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π΅ Π΄Π° сС създадС ΠΊΡƒΠ»Ρ‚ΡƒΡ€Π°, Π² която Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ слуТитСли са β€žΠ½Π° Π΅Π΄Π½Π° ΠΈ ΡΡŠΡ‰Π° дълТина Π½Π° Π²ΡŠΠ»Π½Π°Ρ‚Π°β€œ, Ρ€ΡŠΡ‡Π½ΠΈΡΡ‚ Ρ‚Ρ€ΡƒΠ΄ Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½, всСки ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π°, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡŠΡ€, чСстотата Π½Π° доставкитС сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°, производитСлността Π½Π° Ρ‚Ρ€ΡƒΠ΄Π° сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°, Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚Ρ‚Π° сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°.

Π”ΠΎΠΊΠ°Ρ‚ΠΎ инструмСнтитС сами ΠΏΠΎ сСбС си Π½Π΅ са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π·Π° създаванС Π½Π° DevOps срСда, Ρ‚Π΅ са Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠΈ. Най-Π²Π°ΠΆΠ½ΠΎΡ‚ΠΎ ΠΎΡ‚ тях Π΅ Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π°Ρ‚Π° интСграция ΠΈ Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π°Ρ‚Π° доставка (CI/CD). Има Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΅Ρ‚Π°ΠΏΠΈ във Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° Π·Π° всяка срСда (Π½Π°ΠΏΡ€. DEV (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅), INT (ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅), TST (тСстванС), QA (осигуряванС Π½Π° качСството), UAT (тСстванС Π·Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ°Π½Π΅ ΠΎΡ‚ потрСбитСля), STG (ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°), PROD (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅)) , Ρ€ΡŠΡ‡Π½ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ са Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ качСствСн ΠΊΠΎΠ΄, Π΄Π° Π³ΠΎ доставят ΠΈ лСсно Π΄Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Ρ‚.

Π’Π°Π·ΠΈ Π±Π΅Π»Π΅ΠΆΠΊΠ° описва ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ Π²Π΅Ρ€ΠΈΠ³Π° DevOps Π² ΠΏΠ΅Ρ‚ ΡΡ‚ΡŠΠΏΠΊΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° снимката ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄.

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

Π”Π° сС ​​залавямС Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1: CI/CD ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°

На ΠΏΡŠΡ€Π²ΠΎ място, ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ CI/CD инструмСнт. Jenkins Π΅ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€Π°Π½ ΠΎΡ‚ MIT CI/CD инструмСнт с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, написан Π½Π° Java, ΠΊΠΎΠΉΡ‚ΠΎ популяризира Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ DevOps ΠΈ сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π° Π² Π΄Π΅ Ρ„Π°ΠΊΡ‚ΠΎ стандарт Π·Π° CICD.

Какво Π΅ ДТСнкинс? ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Ρ‚Π΅ си, Ρ‡Π΅ ΠΈΠΌΠ°Ρ‚Π΅ магичСски ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Π½ ΠΏΠ°Π½Π΅Π» Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ услуги ΠΈ инструмСнти. Π‘Π°ΠΌ ΠΏΠΎ сСбС си CI/CD инструмСнт ΠΊΠ°Ρ‚ΠΎ Jenkins Π΅ Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π΅Π½, Π½ΠΎ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ инструмСнти ΠΈ услуги Ρ‚ΠΎΠΉ става Π²ΡΠ΅ΠΌΠΎΠ³ΡŠΡ‰.

Π’ допълнСниС към Jenkins ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ всСки.

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ DevOps с CI/CD инструмСнт

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

Π˜ΠΌΠ°Ρ‚Π΅ CI/CD инструмСнт Π² localhost, Π½ΠΎ всС ΠΎΡ‰Π΅ няма ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°. Π”Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към слСдващата ΡΡ‚ΡŠΠΏΠΊΠ°.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2: ВСрсиониранС

Най-добрият (ΠΈ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π°ΠΉ-лСсният) Π½Π°Ρ‡ΠΈΠ½ Π΄Π° тСстватС магията Π½Π° CI/CD инструмСнт Π΅ Π΄Π° Π³ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Ρ‚Π΅ с инструмСнт Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈΡ‚Π΅ (SCM). Π—Π°Ρ‰ΠΎ Π²ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° вСрсиитС? Π”Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ, Ρ‡Π΅ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ заявлСниС. ΠŸΠΈΡˆΠ΅Ρ‚Π΅ Π³ΠΎ Π½Π° Java, Python, C++, Go, Ruby, JavaScript ΠΈΠ»ΠΈ всСки Π΄Ρ€ΡƒΠ³ Π΅Π·ΠΈΠΊ, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΊΠ°Ρ€ΡƒΡ†Π° ΠΈ ΠΌΠ°Π»ΠΊΠ° ΠΊΠΎΠ»ΠΈΡ‡ΠΊΠ°. Π’ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚Π΅, сС Π½Π°Ρ€ΠΈΡ‡Π° ΠΈΠ·Ρ…ΠΎΠ΄Π΅Π½ ΠΊΠΎΠ΄. Π’ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ, особСно Π°ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ сами, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ всичко Π² Π»ΠΎΠΊΠ°Π»Π½Π° дирСктория. Но Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ сС разраства ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ…ΠΎΡ€Π° сС ΠΏΡ€ΠΈΡΡŠΠ΅Π΄ΠΈΠ½ΡΠ²Π°Ρ‚, Π²ΠΈΠ΅ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° сподСлятС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² ΠΊΠΎΠ΄Π°, Π½ΠΎ избягватС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΈ ΠΏΡ€ΠΈ обСдиняванСто Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅. ОсвСн Ρ‚ΠΎΠ²Π° трябва ΠΏΠΎ някакъв Π½Π°Ρ‡ΠΈΠ½ Π΄Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈ вСрсии, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈ копия ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ ΠΈ поставянС Π·Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

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

Има ΠΌΠ½ΠΎΠ³ΠΎ SCM инструмСнти, Π½ΠΎ Git заслуТСно сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π° Π² Π΄Π΅ Ρ„Π°ΠΊΡ‚ΠΎ стандарт. Π‘ΡŠΠ²Π΅Ρ‚Π²Π°ΠΌ Π²ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅, Π½ΠΎ ΠΈΠΌΠ° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΎΠΏΡ†ΠΈΠΈ.

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΡŠΡ‚ DevOps слСд добавянС Π½Π° SCM.

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΡŠΡ‚ CI/CD ΠΌΠΎΠΆΠ΅ Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π° ΠΊΠ°Ρ‡Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ изтСглянСто Π½Π° изходния ΠΊΠΎΠ΄ ΠΈ Π΅ΠΊΠΈΠΏΠ½ΠΎΡ‚ΠΎ ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ. НС Π΅ Π·Π»Π΅? Но сСга ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ Ρ‚ΠΎΠ²Π°, ΠΎΠ±ΠΈΡ‡Π°Π½ΠΎ ΠΎΡ‚ ΠΌΠΈΠ»ΠΈΠ°Ρ€Π΄ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ?

Π‘Ρ‚ΡŠΠΏΠΊΠ° 3: Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Π·Π° автоматизация Π½Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅

Всичко Π²ΡŠΡ€Π²ΠΈ ΠΊΠ°ΠΊΡ‚ΠΎ трябва. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΠ°Ρ‡ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ ΠΈ Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ° ΠΈ Π΄Π° ΠΏΠΎΠΊΠ°Π½ΠΈΡ‚Π΅ приятСли Π΄Π° работят с вас. Но всС ΠΎΡ‰Π΅ няматС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π—Π° Π΄Π° бъдС Ρ‚ΠΎΠ²Π° ΡƒΠ΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ трябва Π΄Π° бъдС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΎ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½ΠΎ Π·Π° разпространСниС ΠΈΠ»ΠΈ Π΄Π° сС изпълнява ΠΊΠ°Ρ‚ΠΎ изпълним Ρ„Π°ΠΉΠ». (Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€Π°Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΊΠ°Ρ‚ΠΎ JavaScript ΠΈΠ»ΠΈ PHP Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°.)

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

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

ΠŸΠ΅Ρ€Ρ„Π΅ΠΊΡ‚Π½ΠΎ! Π‘Π΅Π³Π° Π½Π΅ΠΊΠ° вмъкнСм ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° инструмСнта Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ°, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΡŠΡ‚ CI/CD Π΄Π° Π³ΠΈ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ.

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

Чувства сС Π΄ΠΎΠ±Ρ€Π΅. Но къдС Π΅ всичко Ρ‚ΠΎΠ²Π° Π΄Π° сС Ρ€Π°Π·Π³ΡŠΡ€Π½Π΅ сСга?

Π‘Ρ‚ΡŠΠΏΠΊΠ° 4: Π‘ΡŠΡ€Π²ΡŠΡ€ Π·Π° ΡƒΠ΅Π± прилоТСния

И Ρ‚Π°ΠΊΠ°, ΠΈΠΌΠ°Ρ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½ Ρ„Π°ΠΉΠ», ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС изпълнСн ΠΈΠ»ΠΈ Ρ€Π°Π·Π³ΡŠΡ€Π½Π°Ρ‚. Π—Π° Π΄Π° бъдС Π΅Π΄Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ наистина ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ρ‚ΠΎ трябва Π΄Π° ΠΈΠΌΠ° някаква услуга ΠΈΠ»ΠΈ интСрфСйс, Π½ΠΎ трябва Π΄Π° Π³ΠΎ поставитС някъдС.

Π£Π΅Π± ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС хоствано Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ Π·Π° ΡƒΠ΅Π± прилоТСния. Π‘ΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π½Π° прилоТСния осигурява срСда, Π² която ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°, Π΄Π° Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ интСрфСйси ΠΈ Π΄Π° ΠΈΠ·Π»Π°Π³Π°Ρ‚Π΅ ΡƒΠ΅Π± услуги ΠΏΡ€Π΅Π· сокСт. Π˜ΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ HTTP ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ няколко Π΄Ρ€ΡƒΠ³ΠΈ срСди (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина), Π·Π° Π΄Π° инсталиратС ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° прилоТСния. ЗасСга Π½Π΅ΠΊΠ° сС прСструвамС, Ρ‡Π΅ сС справятС с всичко Ρ‚ΠΎΠ²Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π²ΡŠΡ€Π²ΠΈΡ‚Π΅ (Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Ρ‰Π΅ говоря Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ).

Има няколко ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° ΡƒΠ΅Π± прилоТСния.

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

Π’Π΅Ρ‡Π΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π° DevOps Π²Π΅Ρ€ΠΈΠ³Π°. Π”ΠΎΠ±Ρ€Π° Ρ€Π°Π±ΠΎΡ‚Π°!

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

По ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° спрСтС Ρ‚ΡƒΠΊ, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС справитС сами, Π½ΠΎ си струва Π΄Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ Π·Π° качСството Π½Π° ΠΊΠΎΠ΄Π°.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 5: ВСстово ΠΏΠΎΠΊΡ€ΠΈΡ‚ΠΈΠ΅

ВСстванСто ΠΎΡ‚Π½Π΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ усилия, Π½ΠΎ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅Ρ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠ΄Π°, Π·Π° Π΄Π° ΡƒΠ³ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° ΠΊΡ€Π°ΠΉΠ½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. Π—Π° Ρ‚Π°Π·ΠΈ Ρ†Π΅Π» ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ инструмСнти, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ само Ρ‰Π΅ тСстват ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΈ Ρ‰Π΅ ΡΡŠΠ²Π΅Ρ‚Π²Π°Ρ‚ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅. ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ CI/CD инструмСнти ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ Π² Ρ‚Π΅Π·ΠΈ инструмСнти ΠΈ Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚ процСса.

ВСстванСто Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΎ Π½Π° Π΄Π²Π΅ части: тСстови Ρ€Π°ΠΌΠΊΠΈ Π·Π° писанС ΠΈ изпълнСниС Π½Π° тСстовС ΠΈ инструмСнти със ΡΡŠΠ²Π΅Ρ‚ΠΈ Π·Π° подобряванС Π½Π° качСството Π½Π° ΠΊΠΎΠ΄Π°.

Π Π°ΠΌΠΊΠΈ Π·Π° тСстванС

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈ с качСствСни Π½Π°ΠΊΡ€Π°ΠΉΠ½ΠΈΡ†ΠΈ

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ инструмСнти ΠΈ Ρ€Π°ΠΌΠΊΠΈ са написани Π·Π° Java, Python ΠΈ JavaScript, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ C++ ΠΈ C# са ΠΏΠ°Ρ‚Π΅Π½Ρ‚ΠΎΠ²Π°Π½ΠΈ (Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ GCC Π΅ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄).

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠΈΡ…ΠΌΠ΅ инструмСнтитС Π·Π° тСстово ΠΏΠΎΠΊΡ€ΠΈΡ‚ΠΈΠ΅ ΠΈ сСга ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΡŠΡ‚ DevOps трябва Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°Ρ‚ΠΎ снимката Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° ΡƒΡ€ΠΎΠΊΠ°.

Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΡΡ‚ΡŠΠΏΠΊΠΈ

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ

ΠšΠ°ΠΊΡ‚ΠΎ ΠΊΠ°Π·Π°Ρ… ΠΏΡ€Π΅Π΄ΠΈ, ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π·Π° прилоТСния ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС хостван във Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина ΠΈΠ»ΠΈ ΡΡŠΡ€Π²ΡŠΡ€, Π½ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ са ΠΏΠΎ-популярни.

Какво прСдставляват ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅? Накратко, във Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма чСсто Π·Π°Π΅ΠΌΠ° ΠΏΠΎΠ²Π΅Ρ‡Π΅ място ΠΎΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с няколко Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ конфигурация. Π’ някои случаи Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ машини са Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠΈ, Π½ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ±Π΅Ρ€Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π°Π΅Π΄Π½ΠΎ със ΡΡŠΡ€Π²ΡŠΡ€Π° Π±Π΅Π· Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ.

Π—Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС Π²Π·Π΅ΠΌΠ°Ρ‚ Docker ΠΈ Kubernetes, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΈΠΌΠ° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΎΠΏΡ†ΠΈΠΈ.

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

ΠŸΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ статии Π·Π° Docker ΠΈ Kubernetes Π½Π° opensource.com:

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π·Π° автоматизация Π½Π° ΠΌΠΈΠ΄ΡŠΠ»ΡƒΠ΅Ρ€

ΠΠ°ΡˆΠ°Ρ‚Π° Π²Π΅Ρ€ΠΈΠ³Π° DevOps Π΅ фокусирана Π²ΡŠΡ€Ρ…Ρƒ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½ΠΎ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ ΠΈ доставка Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΈΠΌΠ° ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ интСрСсни Π½Π΅Ρ‰Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ с инструмСнтитС Π½Π° DevOps. НапримСр, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ инструмСнти Π·Π° инфраструктура ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄ (IaC), извСстни ΡΡŠΡ‰ΠΎ ΠΊΠ°Ρ‚ΠΎ инструмСнти Π·Π° автоматизация Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ софтуСр. Π’Π΅Π·ΠΈ инструмСнти ΠΏΠΎΠΌΠ°Π³Π°Ρ‚ Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° инсталиранСто, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ софтуСр. НапримСр, инструмСнт Π·Π° автоматизация ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅ прилоТСния (ΡΡŠΡ€Π²ΡŠΡ€ Π½Π° ΡƒΠ΅Π± прилоТСния, Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, инструмСнти Π·Π° наблюдСниС) с ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈ към ΡΡŠΡ€Π²ΡŠΡ€Π° Π½Π° прилоТСния.

Π•Ρ‚ΠΎ някои ΠΎΠΏΡ†ΠΈΠΈ Π·Π° инструмСнти Π·Π° автоматизация Π½Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ софтуСр:

Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° ΠΌΠ°Π½Π΅ΠΊΠ΅Π½ΠΈ: Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° DevOps Π²Π΅Ρ€ΠΈΠ³ΠΈ с инструмСнти с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ Π² статиитС opensource.com:

А сСга какво?

Π’ΠΎΠ²Π° Π΅ само Π²ΡŠΡ€Ρ…ΡŠΡ‚ Π½Π° айсбСрга. Π’Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° DevOps ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅. Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ с CI/CD инструмСнт ΠΈ Π²ΠΈΠΆΡ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Ρ€ΡƒΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅, Π·Π° Π΄Π° улСснитС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° си. НС забравяйтС Π·Π° инструмСнти Π·Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° комуникация Π·Π° Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡΡŠΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ.

Π•Ρ‚ΠΎ ΠΎΡ‰Π΅ няколко Π΄ΠΎΠ±Ρ€ΠΈ статии Π·Π° DevOps Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ:

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π΄Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Ρ‚Π΅ DevOps с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ гъвкави инструмСнти:

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

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