Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция

Continuous Integration для самых ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ…

НСпрСрывная интСграция (Π°Π½Π³Π». Continuous Integration) β€” это ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, которая Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ частых Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… сборок ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° для ΡΠΊΠΎΡ€Π΅ΠΉΡˆΠ΅Π³ΠΎ выявлСния ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Π Π°Π±ΠΎΡ‚Π° с VCS

Для Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΌ потрСбуСтся тСстовоС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ для тСстирования прилоТСния. Если Ρ†ΠΈΠΊΠ» тСстирования достаточно Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° вСдСтся быстро, Ρ‚ΠΎ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΈ dev-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° VCS Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ваши окруТСния.
ВсС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с основной Π²Π΅Ρ‚ΠΊΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π·Π°Ρ‚Π΅ΠΌ опрСдСлСнная вСрсия фиксируСтся ΠΈ мСрТится Π² Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Из тСстовой Π²Π΅Ρ‚ΠΊΠΈ происходит Π²Ρ‹ΠΊΠ»Π°Π΄ΠΊΠ° Π½Π° тСстовоС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡΡ тСстированиС, внСсСниС фиксов ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ€ΠΆ Π² Π΄Π΅Π². ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ вСрсия отправляСтся Π² Ρ€Π΅Π»ΠΈΠ·Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΠΎΡ‚ Ρ‚ΡƒΠ΄Π° публикуСтся Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½. Π’ случаС нахоТдСния ляпов Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½Π΅ (ΠΊ соТалСнию, Ρ‚Π°ΠΊΠΎΠ΅ Π±Ρ‹Π²Π°Π΅Ρ‚) Ρ‡ΠΈΠ½ΠΈΠΌ Π² Π°Π²Ρ€Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈΠ· ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ ΠΎΠΏΡΡ‚ΡŒ ΠΌΠ΅Ρ€ΠΆΠΈΠΌ Π² DEV-Π²Π΅Ρ‚ΠΊΡƒ.

Π’ философии GIT Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°Ρ‡Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с GIT Π½Π΅ принято ΠΊΠΎΠΌΠΈΡ‚ΠΈΡ‚ΡŒ Π² master ΠΈ Π΄Π°ΠΆΠ΅ dev. ВмСсто этого практикуСтся ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ„ΠΈΡ‡Π°-Π±Ρ€Π΅Π½Ρ‡. ΠŸΡ€ΠΎ git workflow ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь: habrahabr.ru/post/60030. Π’ΠΎΠΎΠ±Ρ‰Π΅, всС ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ структуры VCS ΠΏΡ€Π΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΎΠ΄Π½Ρƒ Ρ†Π΅Π»ΡŒ: ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ситуации, ΠΊΠΎΠ³Π΄Π° Π²Π΅Ρ‚ΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°, Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ быстро Β«ΠΏΠΎΡ„ΠΈΠΊΡΠΈΡ‚ΡŒΒ» ΠΈΠ»ΠΈ Β«Π΄ΠΎΠΏΠΈΠ»ΠΈΡ‚ΡŒΒ» ΠΈ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒΡΡ. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ своСй структуры Π·Π°Π΄Π°ΠΉΡ‚Π΅ сСбС вопрос «смогу Π»ΠΈ я Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ дня ΠΈ Π½Π΅ ΠΏΠΎΠ»ΠΎΠΌΠ°Ρ‚ΡŒ всС. Если ΠΎΡ‚Π²Π΅Ρ‚ Β«Π΄Π°Β», Ρ‚ΠΎ структура Π²Π°ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ошибки Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½, слСдуСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ тСстовоС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠ΅, Π½Π° сколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, главная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ это Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ сторонних Π²Π΅Π±-сСрвисов ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, связанныС с Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ финансовыми транзакциями.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто Π²ΠΏΠ°Π΄Π°ΡŽΡ‚ Π² ступор ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ трансформаций Web.config’а Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…: Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ App.config’ов ΠΎΠ½ΠΈ хранятся Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ прилоТСния, Π° Π½Π΅ Π² ΠΏΠ°ΠΏΠΊΠ΅ bin, поэтому ΠΏΡ€ΠΈ локальной сборкС трансформации Π½Π΅ происходит. Врансформации ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Если Π²Π°ΠΌ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Web.template.config ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° PostBuild прилоТСния. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ таск трансформации ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΈΠ½Π°Ρ‡Π΅ трансформация Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π΄Π²Π°ΠΆΠ΄Ρ‹.
Если Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, всС-Ρ€Π°Π²Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ основной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с ΠΎΠ±Ρ‰ΠΈΠΌΠΈ настройками ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для измСнСния эталонного ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°. Π­Ρ‚ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ вас ΠΎΡ‚ копипаста ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… настроСк.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΊ Π²Ρ‹ΠΊΠ»Π°Π΄ΠΊΠ΅

ВСрсионированиС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹

ВсС соврСмСнныС CI-Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π²ΠΎ врСмя сборки. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π», Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ msbuild-таски ΠΈΠ· msbuildtasks.tigris.org ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

ВСрсионированиС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

SSDT-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ msdn.microsoft.com/ru-ru/data/tools.aspx

ΠŸΠ»ΡŽΡΡ‹: процСсс создания ΠΈ рСдактирования Π‘Π” Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π±Ρ‹ Π²Ρ‹ это Π΄Π΅Π»Π°Π»ΠΈ с Management Studio.
ΠœΠΈΠ½ΡƒΡΡ‹: ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ написания ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… скриптов. Π’.ΠΊ. ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ измСнСния строит сам ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΡΠΎΡ…Ρ€Π°Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… обСспСчиваСтся Π·Π° счСт pre-deploy ΠΈ post-deploy-скриптов. ΠŸΡ€ΠΈΠ΄Π΅Ρ‚ΡΡ ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅/отсутствиС ΠΏΠΎΠ»Π΅ΠΉ Π² Π‘Π” ΠΈΠ»ΠΈ Β«ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒΒ» Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ schema version, ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π² ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠ°Ρ….

ECM7 Migrator code.google.com/p/ecm7migrator

Π”Π²ΠΈΠΆΠΎΠΊ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ…Π°Π±Ρ€Π°ΡŽΠ·Π΅Ρ€ dima117.
ΠŸΠ»ΡŽΡΡ‹: ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ Π‘Π£Π‘Π”, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ вас Π½Π΅ устраиваСт, ΠΊΠΎΠ΄ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚. ΠœΠΈΠ³Ρ€Π°Ρ‚ΠΎΡ€ поддСрТиваСтся ΠΈ обрастаСт Π½ΠΎΠ²Ρ‹ΠΌΠΈ функциями. И, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, самоС Π²Π°ΠΆΠ½ΠΎΠ΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ Π² Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свои ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΈ этом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ Π‘Π”
ΠœΠΈΠ½ΡƒΡΡ‹: Π½Π΅Ρ‚ плюшСк Entity Framework Migrations.

Entity Framework Migrations blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx

Автоматизация ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ прилоТСния

Π’ 2012 студии систСма ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ web-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π±Ρ‹Π»Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π°. Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ это касаСтся ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Если Π²Ρ‹ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² azure, Ρ‚ΠΎ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΌΠΎΠΆΠ½ΠΎ просто ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ с ΠΏΠΎΡ€Ρ‚Π°Π»Π°. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ.
Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция

Как Π²ΠΈΠ΄Π½ΠΎ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°Ρ…, Π² послСднСй вСрсии WebDeploy ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ EF-ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ всСго ΠΎΠ΄Π½ΠΎΠΉ Π³Π°Π»ΠΎΡ‡ΠΊΠΈ. ΠšΡ€ΠΎΠΌΠ΅ этого публикация ΠΈΠ· студии ΡƒΠΌΠ΅Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ строку ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±Π΅Π· использования трансформации.
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎ трансформации ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ написано Ρƒ Вроя Π₯Π°Π½Ρ‚Π° Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅: www.troyhunt.com/2010/11/you-deploying-it-wrong-teamcity.html. БСйчас нас интСрСсуСт пятый шаг Π΅Π³ΠΎ Π³Π°ΠΉΠ΄Π»Π°ΠΉΠ½Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, автоматичСская публикация с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ»Π΄-сСрвСра: www.troyhunt.com/2010/11/you-deploying-it-wrong-teamcity_26.html. Π― большой Ρ„Π°Π½Π°Ρ‚ TeamCity, поэтому рассмотрим ΠΈΠΌΠ΅Π½Π½ΠΎ эту CI.

Автоматизация ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Windows-слуТб

Для автоматичСского создания windows-слуТб ΠΏΡ€ΠΎΡ‰Π΅ всСго Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ sc:

TeamCity

ИспользованиС срСдств, описанных Π²Ρ‹ΡˆΠ΅, сэкономит вашС врСмя. ПойдСм дальшС ΠΈ установим Π±ΠΈΠ»Π΄-сСрвСр. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ TeamCity: www.jetbrains.com/teamcity ΠΈ запускаСм инсталятор, ΠΆΠΌΠ΅ΠΌ Π²Π΅Π·Π΄Π΅ «Ок».
Π”Π²Π° основных понятия TeamCity – Β«ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Β» ΠΈ Β«Π±ΠΈΠ»Π΄Β». Β«ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Β» соотвСтствуСт Π²Π°ΡˆΠ΅ΠΌΡƒ ΡΠΎΠ»ΡŽΡˆΠ½Ρƒ, Π° ΠΏΠΎΠ΄ Π±ΠΈΠ»Π΄ΠΎΠΌ понимаСтся любая осмыслСнная ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ дСйствий Π½Π°Π΄ вашим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ: Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ сборка, запуск тСстов, Π²Ρ‹ΠΊΠ»Π°Π΄ΠΊΠ° Π½Π° сСрвСр, созданиС Π±Π΅ΠΊΠ°ΠΏΠΎΠ² ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Автоматизированная Π²Ρ‹ΠΊΠ»Π°Π΄ΠΊΠ°

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом, Π΄Π°Π΄ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ‚Π΅ΠΌΡƒ Ρƒ ΠΊΠΎΠ³ΠΎ Visual Studio Π½Π΅ устновлСна.
Основная идСя, это Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ msbuild-шаг с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, создайтС Π½ΠΎΠ²Ρ‹ΠΉ Build Definition ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг Msbuild. Π’ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ:

Π­Ρ‚ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΡƒΠΊΠ°ΠΆΡƒΡ‚, ΠΊΡƒΠ΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ.
Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ потрСбуСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ шаг Command Line:

БохраняСтС Π±ΠΈΠ»Π΄. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΡ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ· VCS. Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Π΄Π΅Π²-стСнд ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ дня. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ максимально быстро.

Rolling builds

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° – Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ Π½Π° Π·Π°ΠΏΡƒΠΊ Π±ΠΈΠ»Π΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ просто Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сборку вашСго солюшна послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния Π² Ρ€Π΅ΠΏΠΎ ΠΈΠ»ΠΈ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 10 ΠΌΠΈΠ½ΡƒΡ‚), Ссли Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². К этому Π±ΠΈΠ»Π΄Ρƒ слСдуСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΡ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ. TeamCity ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½ΠΎΡ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΠΎΡ‡Ρ‚Π΅, jabber, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π°Π³ΠΈΠ½Π° для VisualStudio ΠΈ Tray-прилоТСния. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎ вкусу. МнС ΠΏΠΎ Π΄ΡƒΡˆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ‚Ρ€Π΅Π΅. Если Π±ΠΈΠ»Π΄ сломался – Π½Π°Π΄ΠΎ срочно Ρ‡ΠΈΠ½ΠΈΡ‚ΡŒ.

Как Π½Π΅ Π»ΠΎΠΌΠ°Ρ‚ΡŒ Π±ΠΈΠ»Π΄

КакиС Π±Ρ‹ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π²Ρ‹ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π΄Π΅Π»Π°Π»ΠΈ, Π½Π΅ сущСствуСт Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ способа Π΄Π°Ρ‚ΡŒ 100% Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡŽ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π² VCS ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°ΠΆΠ΅ Π½Π΅ собираСтся. Π­Ρ‚ΠΎΡ‚ вопрос Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ административных ΠΌΠ΅Ρ€: Π½Π΅ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ с Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ², Ρ‡Ρ‚ΠΎ Π±ΠΈΠ»Π΄ послС Ρ‚Π²ΠΎΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ собрался, ΠΊΡ‚ΠΎ сломал, Ρ‚ΠΎΡ‚ ΠΈ Ρ‡ΠΈΠ½ΠΈΡ‚. Π’ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π³Π΄Π΅ я Ρ€Π°Π±ΠΎΡ‚Π°Π» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° со слишком часто сломанным Π±ΠΈΠ»Π΄ΠΎΠΌ Π±Ρ‹Π»Π° Ρ€Π΅ΡˆΠ΅Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ: сломал Π±ΠΈΠ»Π΄ – принСси Ρ‚ΠΎΡ€Ρ‚ΠΈΠΊ. Π‘Π½Π°Ρ‡Π°Π»Π° Ρ‚ΠΎΡ€Ρ‚Ρ‹ Π΅Π»ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь, ΠΏΠΎΡ‚ΠΎΠΌ пСрСстали.

АвтоматичСский запуск тСстов

Π­Ρ‚ΠΎΡ‚ шаг слСдуСт Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° 2: ΡŽΠ½ΠΈΡ‚-тСсты ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΡ‡Π½Ρ‹Π΅ тСсты. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΡŽΠ½ΠΈΡ‚-тСсты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° любом ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ. ВсС внСшниС зависимости Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ„Π΅ΠΉΠΊΠ°ΠΌΠΈ.

Запуск ΡŽΠ½ΠΈΡ‚-тСстов

Запуск ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΡ‡Π½Ρ‹Ρ… тСстов

Π­Ρ‚ΠΈ тСсты ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΈΡ… запуск ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ Π½Π°ΠΊΠ°Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π±Π΅ΠΊΠ°ΠΏΠΎΠ² ΠΈΠ»ΠΈ скриптов ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΎ запускС Ρ‚Π°ΠΊΠΈΡ… тСстов. Π›ΡƒΡ‡ΡˆΠ΅ Π½Π΅ Π·Π°Ρ…Π»Π°ΠΌΠ»ΡΡ‚ΡŒ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с Π²Ρ‹ΠΊΠ»Π°Π΄ΠΊΠΎΠΉ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ для Π½ΠΈΡ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π±ΠΈΠ»Π΄. TeamCity позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Π±ΠΈΠ»Π΄ΠΎΠ². Π’ Build triggers Π±ΠΈΠ»Π΄Π° с ΠΏΡ€ΠΈΠ΅ΠΌΠΎΡ‡Π½Ρ‹ΠΌΠΈ/ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ тСстами Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π±ΠΈΠ»Π΄Π° с Π²Ρ‹ΠΊΠ»Π°Π΄ΠΊΠΎΠΉ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π±ΠΈΠ»Π΄Π° для запуска ΠΏΡ€ΠΈΠ΅ΠΌΠΎΡ‡Π½Ρ‹Ρ… тСстов я описал Π² Ρ‚ΠΎΠΏΠΈΠΊΠ΅: habrahabr.ru/post/182032.

Π‘Π΅ΠΊΠ°ΠΏΡ‹

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π΅ΠΊΠ°ΠΏΠΎΠ² ΠΏΡ€ΠΈ Π²Ρ‹ΠΊΠ»Π°Π΄ΠΊΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ. Для Π±Π΅ΠΊΠ°ΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, Π»ΠΈΡ‡Π½ΠΎ я Π½Π΅ нашСл Π½ΠΈΡ‡Π΅Π³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ nnbackup: www.nncron.ru/index_ru.shtml.

Команда создаСт Π°Ρ€ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Π² zip ΠΏΠ°ΠΏΠΊΡƒ source ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π°Ρ€Ρ…ΠΈΠ² Π² destination. Π£ΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ nnbackup Π½Π° Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ с Π±ΠΈΠ»Π΄-сСрвСра: вопрос Π²Π°ΡˆΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ, располоТСния Π±ΠΈΠ»Π΄ сСрвСра, сСтСвых ΠΈΠ·Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΈ бСзопасности.

Π‘Π΅ΠΊΠ°ΠΏΠΈΡ‚ΡŒ sql-сСрвСр ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ T-SQL

Π’.Π΅. для автоматичСского Π±Π΅ΠΊΠ°ΠΏΠ°, Π²Π°ΠΌ потрСбуСтся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Command Line-шаг. Или Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ msbuild-тасками ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ-ΠΆΠ΅ самого community-ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π° для nnbackup Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой msbuild-таск.
МоТно ΠΏΠΎΠΉΡ‚ΠΈ дальшС ΠΈ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ Π½Π° запуск автоматичСского ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΈΠ· Π±Π΅ΠΊΠ°ΠΏΠ°, Ссли ΠΏΡ€ΠΈΠ΅ΠΌΠΎΡ‡Π½Ρ‹Π΅ тСсты Π½Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΈ. Π’ΠΎΠ³Π΄Π° Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° Π±ΠΈΠ»Π΄ΠΎΠ²: Π’Ρ‹ΠΊΠ»Π°Π΄ΠΊΠ° Β» ΠŸΡ€ΠΈΠ΅ΠΌΠΎΡ‡Π½Ρ‹Π΅ тСсты Β» ΠžΡ‚ΠΊΠ°Ρ‚ ΠΈΠ· Π±Π΅ΠΊΠ°ΠΏΠ°.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с систСмой Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π±Π°Π³-Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€ΠΎΠΌ

Π”ΠΎ этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΌΡ‹ ΡƒΠΆΠ΅ сдСлали ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ. ΠžΡΡ‚Π°Π»Π°ΡΡŒ ΠΎΠ΄Π½Π° нСприятная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ. Π‘ΠΈΠ»Π΄-сСрвСр всС-Π΅Ρ‰Π΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ связан с нашим процСссом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Он Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΎ Π·Π°Π΄Π°Ρ‡Π°Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
TeamCity ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с YouTrack, Jira ΠΈ Bugzilla. Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ выполняСтся Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π² 2 ΠΊΠ»ΠΈΠΊΠ°. ПослС этого, указывая Π½ΠΎΠΌΠ΅Ρ€ Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ ΠΊΠΎΠΌΠΈΡ‚Ρƒ, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ссылки Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π±ΠΈΠ»Π΄Π΅.
YouTrack ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ. ОсновноС прСимущСство: YouTrack Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ Π±ΠΈΠ»Π΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±Π°Π³ ΠΈΠ»ΠΈ Ρ„ΠΈΡ‡Π° Π±Ρ‹Π»ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹.

АртСфакты Π±ΠΈΠ»Π΄Π°

Если вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡Π½ΠΎΠ΅, Ρ‚ΠΎ Π²Π°ΠΌ, навСрняка Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ созданиСм инсталляторов ΠΈΠ»ΠΈ deploy packages для ΠΎΡ‚Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ инсталляторов – ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π΅ΠΌΠ°, я Π½Π΅ Π±ΡƒΠ΄Ρƒ Π΅Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… этого Ρ‚ΠΎΠΏΠΈΠΊΠ°. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ для ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, инсталлятор ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ – это самая ваТная Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·Π°. Как Ρ€Π°Π· для этого ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½Ρ‹ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ Π±ΠΈΠ»Π΄Π°.

АртСфакт – это любой Ρ„Π°ΠΉΠ», ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выполнСния Π±ΠΈΠ»Π΄Π°. Для Π±ΠΈΠ»Π΄ΠΎΠ² с инсталляторами Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ my-installer.exe ΠΈΠ»ΠΈ my-package.zip, ΠΊΠ°ΠΊ маску для Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ² Π±ΠΈΠ»Π΄Π° ΠΈ TeamCity ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ ΠΈΡ… Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅.
Π’ΠΎΡ‚ здСсь ΠΈ пригодится интСграция с Issue Tracker’ом. ВСстировщик ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΏΠΎ ссылкС с Π±ΠΈΠ»Π΄ΠΎΠΌ ΠΈ Π·Π°Π±Ρ€Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ с исправлСниями ΠΈΠ· Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ² Π±ΠΈΠ»Π΄Π°.

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ…ΠΎΡ‡Ρƒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сугубо ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»Π΅Π½ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±Π°Π·ΠΎΠΉ. Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅Π΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ инструмСнтария Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ вмСстС с Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. ΠœΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ софт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ Тизнь Π΄Ρ€ΡƒΠ³ΠΈΡ… людСй Π»ΡƒΡ‡ΡˆΠ΅. Π Π°Π·ΡƒΠΌΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ софт ΠΈ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΌ самим Π±Ρ‹Π»ΠΎ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ CI/CD? РазбираСмся с Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ поставкой

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция

Π’ ΠΏΡ€Π΅Π΄Π΄Π²Π΅Ρ€ΠΈΠΈ старта курса Β«CI/CD Π½Π° AWS, Azure ΠΈ GitlabΒ» ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ для вас ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°.

НСпрСрывная интСграция (Continuous Integration, CI) ΠΈ нСпрСрывная поставка (Continuous Delivery, CD) ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρƒ, Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Ρ‡Π°Ρ‰Π΅ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Π΅Π΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ измСнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

CI/CD β€” это ΠΎΠ΄Π½Π° ΠΈΠ· DevOps-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ. Она Ρ‚Π°ΠΊΠΆΠ΅ относится ΠΈ ΠΊ agile-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌ: автоматизация развСртывания позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ бизнСс-Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, Π½Π° качСствС ΠΊΠΎΠ΄Π° ΠΈ бСзопасности.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ CI/CD

НСпрСрывная интСграция β€” это мСтодология Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² ΠΊΠΎΠ΄ вносятся нСбольшиС измСнСния с частыми ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ. И ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ соврСмСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ с использованиСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈ инструмСнтов, Ρ‚ΠΎ появляСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ тСстировании вносимых ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π‘ тСхничСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, Ρ†Π΅Π»ΡŒ CI β€” ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ способ сборки, ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΈ тСстирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈ Π½Π°Π»Π°ΠΆΠ΅Π½Π½ΠΎΠΌ процСссС Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ с большСй Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ частыС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹, Ρ‡Ρ‚ΠΎ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ качСства ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

НСпрСрывная поставка начинаСтся Ρ‚Π°ΠΌ, Π³Π΄Π΅ заканчиваСтся нСпрСрывная интСграция. Она Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ окруТСния: Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ с ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Ρ‚Π°ΠΊ ΠΈ со срСдами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ тСстирования.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ CI/CD ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ спСцифичСскиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ окруТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ. А Ρ‚Π°ΠΊΠΆΠ΅ CI/CD-автоматизация выполняСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ запросы ΠΊ Π²Π΅Π±-сСрвСрам, Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ сСрвисам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½ΡƒΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π² пСрСзапускС ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… дСйствий ΠΏΡ€ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ прилоТСния.

НСпрСрывная интСграция ΠΈ нСпрСрывная поставка Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΌ тСстировании, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ конСчная Ρ†Π΅Π»ΡŒ β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° качСствСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. НСпрСрывноС тСстированиС часто рСализуСтся Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… тСстов (рСгрСссионных, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² CI/CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅.

ЗрСлая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° CI/CD позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅: ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· CI/CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€, сборки автоматичСски Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡŽΡ‰ΠΈΠ΅ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΡƒΡŽ поставку, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ сСбС Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ΅ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ СТСчасноС Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅. Π₯отя здСсь стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ нСпрСрывная поставка ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π΅ для всСх бизнСс-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

НСпрСрывная интСграция ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ качСство

НСпрСрывная интСграция β€” это мСтодология Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, основанная Π½Π° Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… процСссах ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½Π½ΠΎΠΉ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто коммитят свой ΠΊΠΎΠ΄ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ исходного ΠΊΠΎΠ΄Π°. И Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ придСрТиваСтся ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² дСнь. ΠŸΡ€ΠΈ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… измСнСниях ΠΏΡ€ΠΎΡ‰Π΅ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… измСнСниях, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ измСнСния ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ части ΠΊΠΎΠ΄Π° нСсколькими Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌ ΠΏΡ€ΠΈ слиянии.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹, Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‰ΠΈΠ΅ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ, часто Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ с настройки систСмы контроля вСрсий ΠΈ опрСдСлСния порядка Ρ€Π°Π±ΠΎΡ‚Ρ‹. НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ часто, рСализация Ρ„ΠΈΡ‡ ΠΈ исправлСниС Π±Π°Π³ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ довольно Π΄ΠΎΠ»Π³ΠΎ. Для контроля Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΠΈΡ‡ΠΈ ΠΈ ΠΊΠΎΠ΄ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ сущСствуСт нСсколько ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ².

МногиС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„ΠΈΡ‡Π°-Ρ„Π»Π°Π³ΠΈ (feature flag) β€” ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π² Ρ€Π°Π½Ρ‚Π°ΠΉΠΌΠ΅. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Ρ‰Π΅ находится Π² стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, оборачиваСтся Ρ„ΠΈΡ‡Π°-Ρ„Π»Π°Π³Π°ΠΌΠΈ ΠΈ развСртываСтся ΠΈΠ· master-Π²Π΅Ρ‚ΠΊΠΈ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½, Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π³ΠΎΡ‚ΠΎΠ² ΠΊ использованию. По Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ исслСдования 63 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΠΈΡ‡Π°-Ρ„Π»Π°Π³ΠΈ, говорят ΠΎΠ± ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΈ тСстируСмости ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ качСства ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„ΠΈΡ‡Π°-Ρ„Π»Π°Π³Π°ΠΌΠΈ Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CloudBees Rollout, Optimizely Rollouts ΠΈ LaunchDarkly, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² CI/CD ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ„ΠΈΡ‡.

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„ΠΈΡ‡Π°ΠΌΠΈ β€” использованиС Π²Π΅Ρ‚ΠΎΠΊ Π² систСмС контроля вСрсий. Π’ этом случаС Π½Π°Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ модСль вСтвлСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ Gitflow) ΠΈ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Π²Π΅Ρ‚ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, тСстирования ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π°. Для Ρ„ΠΈΡ‡ с Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΈΡ‡Π°-Π²Π΅Ρ‚ΠΊΠΈ. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ Ρ„ΠΈΡ‡Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΠ»ΠΈΠ²Π°ΡŽΡ‚ измСнСния ΠΈΠ· Ρ„ΠΈΡ‡Π°-Π²Π΅Ρ‚ΠΊΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π΅Π½, Ссли ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ разрабатываСтся ΠΌΠ½ΠΎΠ³ΠΎ Ρ„ΠΈΡ‡.

Π­Ρ‚Π°ΠΏ сборки Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. НапримСр, Ссли Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ CI ΡƒΠΏΠ°ΠΊΡƒΠ΅Ρ‚ всС статичСскиС Ρ„Π°ΠΉΠ»Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ HTML, CSS ΠΈ JavaScript, вмСстС с Java-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ скриптами Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

CI Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΏΠ°ΠΊΡƒΠ΅Ρ‚ всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ автоматичСски Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ тСсты ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ тСстирования. Π’Π°ΠΊΠΎΠ΅ тСстированиС позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сдСланныС измСнСния Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ сломали.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ CI/CD-инструмСнтов позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сборку Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ ΠΈΠ»ΠΈ ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ. Командам Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ расписаниС сборки, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½ΠΈΡ… Π² зависимости ΠΎΡ‚ числСнности ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ количСства Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π². Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈ сборка Π±Ρ‹Π»ΠΈ быстрыми, ΠΈΠ½Π°Ρ‡Π΅ долгая сборка ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ прСпятствиСм для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΡ‹Ρ‚Π°ΡŽΡ‰ΠΈΡ…ΡΡ быстро ΠΈ часто ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ.

НСпрСрывноС тСстированиС β€” это большС, Ρ‡Π΅ΠΌ автоматизация тСстирования

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ тСстирования ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ QA-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ тСстов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΡŒ сборки. ВСстированиС Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ тСсты, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ спринта ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡ‹Π΅ Π² рСгрСссионныС тСсты для всСго прилоТСния. РСгрСссионныС тСсты ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: Π½Π΅ сломали Π»ΠΈ ΠΈΡ… измСнСния Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ части прилоТСния.

Π›ΡƒΡ‡ΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ всС ΠΈΠ»ΠΈ Ρ‡Π°ΡΡ‚ΡŒ рСгрСссионных тСстов Π² своих Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… окруТСниях. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

РСгрСссионныС тСсты β€” это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡Π°Π»ΠΎ. ВСстированиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, тСстированиС API, статичСский Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π°, тСстированиС бСзопасности β€” эти ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ тСстирования Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска этих тСстов ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-Ρ…ΡƒΠΊ (webhook) ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-сСрвис ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выполнСния: ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΉ Π±Ρ‹Π» тСст ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

НСпрСрывноС тСстированиС ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ, Π½ΠΎ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ автоматичСского тСстирования Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ CI/CD. ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ тСсты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ CI ΠΈ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΄ΠΎ ΠΈΠ»ΠΈ Π²ΠΎ врСмя запуска CI-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°. ВСсты, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ развСртывания ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ окруТСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ тСстированиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ бСзопасности, часто ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ CD ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ послС разворачивания сборок Π² Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… срСдах.

CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ поставку ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ окруТСния

НСпрСрывная поставка β€” это автоматичСскоС Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ прилоТСния Π² Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ нСсколькими окруТСниями Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ тСстирования, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ развСртываСтся для тСстирования ΠΈ Ρ€Π΅Π²ΡŒΡŽ. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ CI/CD-инструмСнты ΠΊΠ°ΠΊ Jenkins, CircleCI, AWS CodeBuild, Azure DevOps, Atlassian Bamboo, Travis CI.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ состоит ΠΈΠ· этапов сборки, тСстирования ΠΈ развСртывания. Π‘ΠΎΠ»Π΅Π΅ слоТныС ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ этапы:

Π’ Π±ΠΎΠ»Π΅Π΅ слоТном CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ этапы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ синхронизация Π΄Π°Π½Π½Ρ‹Ρ…, Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… рСсурсов, установка ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ. CI/CD-инструмСнты ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹. НапримСр, Ρƒ Jenkins Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 1500 ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ со сторонними ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ, для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, администрирования, управлСния исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ сборкой.

ΠŸΡ€ΠΈ использовании CI/CD-инструмСнта Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сконфигурированы Π²Π½Π΅ прилоТСния Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния. CI/CD-инструмСнты ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ значСния этих ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΌΠ°ΡΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… записСй, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π²ΠΎ врСмя развСртывания для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ окруТСния.
Π’Π°ΠΊΠΆΠ΅ Π² CD-инструмСнтах ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹ ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ. Π’ случаС сбоя сборки ΠΈΠ»ΠΈ поставки ΠΎΠ½ΠΈ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°ΡŽΡ‚ ΠΎΠ± этом. ΠŸΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ CD с систСмой контроля вСрсий ΠΈ agile-инструмСнтами облСгчаСтся поиск ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… историй, Π²ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… Π² сборку.

РСализация CI/CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ² с Kubernetes ΠΈ бСссСрвСрными Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°ΠΌΠΈ

МногиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ CI/CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹ Π² ΠΎΠ±Π»Π°ΠΊΠ°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Docker, ΠΈ систСмы оркСстрации, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Kubernetes. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΡƒ, поставку ΠΈ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ с нСпостоянной Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ.

Π•ΡΡ‚ΡŒ мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² совмСстного использования ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², инфраструктуры ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ ΠΈ CI/CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ². ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ это Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π² ΡΡ‚Π°Ρ‚ΡŒΡΡ… Kubernetes with Jenkins ΠΈ Kubernetes with Azure DevOps.

АрхитСктура бСссСрвСрных вычислСний прСдставляСт собой Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ развСртывания ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ бСссСрвСрном ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ инфраструктурой ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ управляСт поставщик ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… услуг, Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ потрСбляСт рСсурсы ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости Π² соотвСтствии с Π΅Π³ΠΎ настройками. НапримСр, Π² AWS бСссСрвСрныС прилоТСния Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ AWS Lambda, Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π² CI/CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Jenkins с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π°Π³ΠΈΠ½Π°.

CI/CD обСспСчиваСт Π±ΠΎΠ»Π΅Π΅ частоС Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΠ΄Π²Π΅Π΄Π΅ΠΌ ΠΈΡ‚ΠΎΠ³ΠΈ. CI ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚, тСстируСт сборки ΠΈ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ. CD автоматичСски Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ прилоТСния ΠΈ выполняСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ тСсты.

CI/CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ часто Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² прилоТСния с Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ процСссом поставки. Помимо стандартизации сборки, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСстов ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΉ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ цСлостный производствСнный процСсс ΠΏΠΎ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠΎΠ΄Π°. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ CI/CD позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ силы Π½Π° Π΅Π³ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅.

CI/CD являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· DevOps-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π½Π° Π±ΠΎΡ€ΡŒΠ±Ρƒ с противорСчиями ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят часто Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния, ΠΈ эксплуатациСй, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Благодаря Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Ρ‡Π°Ρ‰Π΅, Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ эксплуатации, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ конфигурация ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ стандартизирована ΠΈ Π² процСссС поставки осущСствляСтся Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ΅ тСстированиС. Π’Π°ΠΊΠΆΠ΅ настройка ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π° ΠΎΡ‚ прилоТСния ΠΈ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΎΡ‚ΠΊΠ°Ρ‚Π°.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ ΠΎΡ‚ внСдрСния CI/CD-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ эффСктивности (KPI) DevOps. Π’Π°ΠΊΠΈΠ΅ KPI ΠΊΠ°ΠΊ частота поставки (deployment frequency), врСмя Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (change lead time) ΠΈ срСднСС врСмя восстановлСния послС ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Π° (mean time to recovery) часто ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ CI/CD с Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΌ тСстированиСм. Однако CI/CD β€” это лишь ΠΎΠ΄ΠΈΠ½ ΠΈΠ· процСссов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ этим ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡΠΌ. Π•ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ условия для увСличСния частоты поставки.

Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с CI/CD ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ эксплуатации Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ совмСстно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с тСхнологиями, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°ΠΌΠΈ. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ консСнсус Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ своСму бизнСсу ΠΈ тСхнологиям, Ρ‡Ρ‚ΠΎΠ±Ρ‹ послС внСдрСния CI/CD ΠΊΠΎΠΌΠ°Π½Π΄Π° постоянно ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»Π°ΡΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция?

ΠŸΡ€ΠΈΠ΄Π°ΠΉΡ‚Π΅ гибкости своСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ускорив ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь. Π’Π°ΡˆΠ° Ρ€Π΅Π°Π»ΡŒΠ½Π°Ρ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ опрСдСляСтся ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Π²Π°ΡˆΠΈΡ… тСстов.

НСпрСрывная интСграция (CI) Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠΎΠ΄Π° ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… участников Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π­Ρ‚ΠΎ основная рСкомСндация DevOps, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ рСгулярно ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ измСнСния ΠΊΠΎΠ΄Π° Π² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π³Π΄Π΅ Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ сборки ΠΈ тСсты. АвтоматизированныС инструмСнты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ.

Π’ основС процСсса CI Π»Π΅ΠΆΠΈΡ‚ систСма контроля вСрсий исходного ΠΊΠΎΠ΄Π°. БистСма контроля вСрсий дополняСтся Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ срСдствами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ качСства ΠΊΠΎΠ΄Π°, инструмСнты ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ стиля синтаксиса ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ.

Π‘Ρ‚Π°Ρ‚ΡŒΠΈ ΠΎ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

Как ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ тСстированиС Π·Π° ΠΏΡΡ‚ΡŒ шагов.

Π’Ρ€ΠΈ скрипта Git hook для Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

Знакомство со сцСнариями hook Π² Git, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Ρ€ΠΈ сцСнария hook, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ поставки.

5 Tips for CI-Friendly Git Repos

Five tips to make the best out of Git and your continuous integration tool!

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

ΠŸΡΡ‚ΡŒ совСтов ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ максимум ΠΏΠΎΠ»ΡŒΠ·Ρ‹ ΠΈΠ· Git ΠΈ вашСго инструмСнта Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.

ΠœΠ°Π³ΠΈΡΡ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΌΠ°Π³ΠΈΡΡ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ β€” ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ управлСния вСрсиями, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ нСбольшиС частыС обновлСния с Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ Β«ΠΌΠ°Π³ΠΈΡΡ‚Ρ€Π°Π»ΡŒΡŽΒ», ΠΈΠ»ΠΈ основной Π²Π΅Ρ‚ΠΊΠΎΠΉ

Continuous Integration Tutorial

This tutorial will show you how to get started with continuous integration in three simple steps.

Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ CI, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ сначала ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ ряд ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ отсутствии CI. Π‘Π΅Π· CI Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ дСйствия ΠΈ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ внСсСнии ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΡ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π» эксплуатации ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Π΄Π΅Π»Ρ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ выпуск Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ исправлСний, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ участниками.

Π˜Π·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Π°Ρ коммуникация Π² срСдС Π±Π΅Π· CI ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π»ΠΈΡ‚ΡŒΡΡ Π² ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ синхронизации, Π° Ρ‚Π°ΠΊΠΆΠ΅ привСсти ΠΊ Π±ΡŽΡ€ΠΎΠΊΡ€Π°Ρ‚ΠΈΠΈ ΠΈ Π½Π΅ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½Ρ‹ΠΌ расходам ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π—Π°Ρ‚Π΅ΠΌ Ρ€Π΅Π»ΠΈΠ·Ρ‹ Π½Π°Ρ‡Π½ΡƒΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠ΅ ΠΈ увСличится частота сбоСв, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ большС внимания ΠΈ ΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ со стороны Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π­Ρ‚ΠΈ риски растут ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹.

Π‘Π΅Π· Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° CI ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Ρ€Π°Π·Π»Π°Π΄ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ сотрудниками ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠšΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½Π°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° становится Ρ‡Π΅Ρ€Π½Ρ‹ΠΌ ящиком, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ участники ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ вносят трСбования ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Ссли сошлись Π·Π²Π΅Π·Π΄Ρ‹). Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌ становится Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ удаСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ врСмя ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° нСпрСрывная интСграция (CI)

CI ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ пСрсонал ΠΈ Π½Π°Ρ€Π°ΡΡ‚ΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ². Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ CI ΠΏΠΎ упомянутому ΡΡ†Π΅Π½Π°Ρ€ΠΈΡŽ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ вСсти Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ функциями. Π’Π°ΠΊ ΠΎΠ½ΠΈ смогут ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π±Π΅Π· Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, ΠΊΠΎΠ³Π΄Π° всС Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎ. CI β€” ваТная ΠΈ надСТная тСхнология, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ соврСмСнными, высокоэффСктивными организациями Π² сфСрС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО.

Как ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ (CI)

CI ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ вмСстС с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ процСссом Agile-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО. ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ список Π·Π°Π΄Π°Π½ΠΈΠΉ, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π΄ΠΎΡ€ΠΎΠΆΠ½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π­Ρ‚ΠΈ задания Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ участниками ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² с Ρ†Π΅Π»ΡŒΡŽ поставки. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CI отвСтствСнныС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ эти задания ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО нСзависимо ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ задания Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ внСсСт ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² систСму CI для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

НСпрСрывная интСграция, Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈ нСпрСрывная поставка

НСпрСрывная интСграция, Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈ доставка ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ стадии Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° выпуска ПО (с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° DevOps) Π­Ρ‚ΠΈ Ρ‚Ρ€ΠΈ стадии ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΎΡ‚ ΠΈΠ΄Π΅ΠΈ Π΄ΠΎ доставки ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Бтадия ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ β€” это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг Π² этом процСссС. НСпрСрывная интСграция ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ этап, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ нСсколько Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ измСнСния ΠΊΠΎΠ΄Π° с Π³Π»Π°Π²Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

НСпрСрывная поставка являСтся ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ. На стадии поставки происходит ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° для доставки ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. На этом этапС Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ инструмСнты сборки для создания Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π­Ρ‚Π° стадия сборки считаСтся Β«Π·Π΅Π»Π΅Π½ΠΎΠΉΒ». Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚.

НСпрСрывноС Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ β€” это Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ стадия ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°. Бтадия развСртывания ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° автоматичСский запуск ΠΈ распространСниС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° срСди ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. На ΠΌΠΎΠΌΠ΅Π½Ρ‚ развСртывания ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ стадии ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ поставки. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ автоматичСски Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ сдСлано с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптов ΠΈΠ»ΠΈ инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ автоматичСски размСстят ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π½Π° общСдоступных сСрвСрах ΠΈΠ»ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмС распространСния, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΠΌΠ°Π³Π°Π·ΠΈΠ½ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΠ»ΡŽΡΡ‹ ΠΈ минусы Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

НСпрСрывная интСграция β€” ваТная Ρ‡Π°ΡΡ‚ΡŒ DevOps ΠΈ высокоэффСктивных ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО. ΠŸΡ€ΠΈ этом прСимущСства CI приносят ΠΏΠΎΠ»ΡŒΠ·Ρƒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², Π½ΠΎ ΠΈ всСм ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ частям ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. CI ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ поставку ПО. Π­Ρ‚ΠΈ прСимущСства ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠΌ сотрудникам ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Ρ‹Π½ΠΎΡ‡Π½Ρ‹Π΅ стратСгии. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΎΠ±Ρ‰ΠΈΡ… прСимущСств CI для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ

CI позволяСт организациям ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ ΠΈ инфраструктуру. CI ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы DevOps ΠΈ Agile, минимизируя Π±ΡŽΡ€ΠΎΠΊΡ€Π°Ρ‚ΠΈΡŽ ΠΏΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡŽ. Благодаря этому ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ участник ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ внСсти ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ выпуска. CI позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ благодаря ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… зависимостСй ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ с ΠΏΠΎΠ»Π½ΠΎΠΉ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ слияниС ΠΈΡ… ΠΊΠΎΠ΄Π° с ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π­Ρ‚ΠΎ основной процСсс DevOps.

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи

ИспользованиС CI ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ быстрая обратная связь ΠΏΠΎ бизнСс-Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ быстрСС Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅ΠΈ ΠΈ ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ CI. ИзмСнСния ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ. Ошибки ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ.

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ

CI ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΠΌΠ΅Π½ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ обСспСчиваСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ срСди ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ сотрудничСства ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ ΠΎΡ‚Π΄Π΅Π»ΠΎΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ DevOps. ВнСдряя Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы с запросами pull ΠΈ привязкой ΠΊ CI, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ пассивный ΠΎΠ±ΠΌΠ΅Π½ знаниями. Запросы pull ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ участников ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ Π½ΠΈΠΌΠΈ вмСстС с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ продвиТСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρƒ CI. НСпрСрывная интСграция Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для управлСния расходами Π½Π° рСсурсы. Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ CI с Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ тСстами ΠΈ высокой Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ рСгрСссии ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ соотвСтствиС Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ спСцификации. ΠŸΠ΅Ρ€Π΅Π΄ слияниСм Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ соотвСтствиС Π½Π°Π±ΠΎΡ€Ρƒ тСстовых ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ CI, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ Π½ΠΎΠ²Ρ‹Ρ… рСгрСссий.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° CI Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π²Π΅ΡˆΠΈΠ²Π°ΡŽΡ‚ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ. Однако Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Ρ‚ΡŒ Π² курсС этих ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π‘Π΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ трудности Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ CI Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±Π΅Π· Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ соврСмСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² CI Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‚ Π½Π° Ρ€Π°Π½Π½ΠΈΡ… этапах развития, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎΠ·Π΄Π½Π΅Π³ΠΎ внСдрСния.

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΈ установка

Врудности Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго связаны с Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ тСхничСской установкой. Если Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠΊΠ° Π½Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ CI, Π΅Π³ΠΎ Π²Ρ‹Π±ΠΎΡ€ ΠΈ Π½Π°Ρ‡Π°Π»ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… усилий. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ установкС ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° CI Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ инфраструктуру процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ВрСмя Π½Π° освоСниС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности CI Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ряд Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Π½Π° освоСниС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ врСмя. Π’ эти Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ входят систСмы контроля вСрсий, инфраструктура хостинга ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для оркСстрации.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ (CI)

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° основС тСстов

ПослС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° CI с автоматичСским ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ тСстами рСкомСндуСтся постоянно Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅. КаТдой Π½ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, сходящСй с ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° CI, трСбуСтся ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ тСстов для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ работоспособности ΠΊΠΎΠ΄Π°.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° основС тСстов (TDD) β€” это ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° написания тСстового ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ фактичСским ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΡƒ TDD ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΡƒΡŽ для описания ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ повСдСния бизнСса, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·ΠΆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ тСсты. Π’ «чистом» сцСнарии TDD Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΈ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ список Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ. Π­Ρ‚ΠΎΡ‚ список Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π² ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹Ρ… ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅. Π—Π°Ρ‚Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΈΡˆΡƒΡ‚ ΠΊΠΎΠ΄ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ этих ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ.

Запросы pull ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ΄Π°

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ соврСмСнных ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ПО ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ запросы pull ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΊΠΎΠ΄Π°. Запросы pull критичСски Π²Π°ΠΆΠ½Ρ‹ для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ CI. Π’Π°ΠΊΠΎΠΉ запрос создаСтся, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π³ΠΎΡ‚ΠΎΠ² ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ с основной ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·ΠΎΠΉ. Запрос pull увСдомляСт Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎ Π½ΠΎΠ²Ρ‹Ρ… измСнСниях, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.

Если ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ запросы pull, ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ CI ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ряд Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… шагов подтвСрТдСния. ΠŸΡ€ΠΈ создании запроса pull ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ добавляСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ шаг Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ подтвСрТдСния, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ заинтСрСсованным Π»ΠΈΡ†ΠΎΠΌ, выполняСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΊΠΎΠ΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности с Ρ€Π°Π·Π½Ρ‹Ρ… сторон. НСзаинтСрСсованноС Π»ΠΈΡ†ΠΎ смоТСт ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΊΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΠΈΡ‚ΡŒ запрос pull.

Запросы pull ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ΄Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ инструмСнтом для содСйствия пассивной ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±ΠΌΠ΅Π½Ρƒ знаниями ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ тСхничСского Π΄ΠΎΠ»Π³Π° Π² Π²ΠΈΠ΄Π΅ Ρ€Π°Π·Ρ€ΠΎΠ·Π½Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ заинтСрСсованы Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… функциях ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ скорости ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°

ΠšΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ CI станСт основным ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ процСссом, поэтому Π²Π°ΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ выполнСния. Π›ΡŽΠ±Π°Ρ нСбольшая Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ процСссС CI Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ€Π°ΡΡ‚Π°Ρ‚ΡŒ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ с ускорСниСм выпуска Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹. РСкомСндуСтся ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° CI.

Быстрый ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ CI обСспСчиваСт быстрый Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи ΠΏΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ быстро ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ³Π°Ρ‚ΡŒ измСнСния ΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Π½ΠΎΠ²Ρ‹ΠΌΠΈ идСями Π² сфСрС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ удобство использования. Π›ΡŽΠ±Ρ‹Π΅ ошибки ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ обнаруТСния. УскорСниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π°Π΅Ρ‚ вашим ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠ΅ прСимущСство, Π½ΠΎ ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ удобство использования.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ

Π’ основС CI Π»Π΅ΠΆΠΈΡ‚ систСма контроля вСрсий (VCS). Если цСлСвая кодовая Π±Π°Π·Π° для установки CI Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ систСмы VCS, для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ Π΅Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π±Π°Π·Ρ‹ практичСски всСгда оснащСны систСмой VCS. ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Git, Mercurial ΠΈ Subversion.

ПослС установки систСмы VCS слСдуСт Π½Π°ΠΉΡ‚ΠΈ хостинг-ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ контроля вСрсий. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ соврСмСнных инструмСнтов для хостинга контроля вСрсий ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ CI ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. К популярным хостинг-ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ°ΠΌ контроля вСрсий относятся Bitbucket, GitHub ΠΈ GitLab.

ПослС установки контроля вСрсий Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ слСдуСт Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ шаги подтвСрТдСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ. Π‘Π°ΠΌΡ‹ΠΉ Π²Π°ΠΆΠ½Ρ‹ΠΉ шаг подтвСрТдСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ тСсты. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… тСстов Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ. Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для тСстирования, послС Ρ‡Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ смогут Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ тСстовый ΠΊΠΎΠ΄ ΠΈ тСстовыС сцСнарии.

МоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ряд Π±ΠΎΠ»Π΅Π΅ экономичных ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹Ρ… срСдств CI, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ срСдства ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ синтаксиса, оформлСния ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ сканирования уязвимостСй Π² зависимостях. ПослС настройки систСмы контроля вСрсий с рядом шагов подтвСрТдСния ΠΈ слияния Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ΠΈ настройка Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ!

БизнСс-процСсс CI ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО. ΠšΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ CI Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ сотрудникам ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΏΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Ρƒ ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°ΠΌ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π½Π°Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ вмСстС опрСдСлят ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ бизнСс-оТидания Π² сфСрС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй, с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ создан Π½Π°Π±ΠΎΡ€ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… тСстов.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Π° ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΆ смогут ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ CI для ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠΈ дСйствий ΠΈ мСроприятий, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ. CI позволяСт Π΄Ρ€ΡƒΠ³ΠΈΠΌ сотрудникам ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ продвигаСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. НСпрСрывная интСграция добавляСт слой прозрачности ΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ изящно интСгрируСтся с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ процСссом Agile-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Если ваша организация стрСмится ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΏΠΎΠ»ΡŒΠ·Ρƒ ΠΈΠ· ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° DevOps ΠΈΠ»ΠΈ Ρƒ вас просто Π΅ΡΡ‚ΡŒ большая ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², CI ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ. НСпрСрывная интСграция ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² сфСрС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ быстрСС ΠΈ эффСктивнСС.

CI β€” Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΉ инструмСнт соврСмСнных высокоэффСктивных ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ Π² сфСрС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО. Π‘Π°ΠΌΡ‹Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹ CI ΠΈ всСгда Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π²Π»ΠΎΠΆΠΈΡ‚ΡŒΡΡ Π² ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ эффСктивности. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° CI доступны Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ², Π½ΠΎ ΠΈ всСм ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ частям ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.

БущСствуСт мноТСство инструмСнтов для установки ΠΈ управлСния CI ΠΎΡ‚ сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². К популярным Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ относятся Codeship, Bitbucket Pipelines, Semaphore, CircleCI, Jenkins, Bamboo, Teamcity ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π­Ρ‚ΠΈ инструмСнты снабТСны ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ руководствами ΠΏΠΎ настройкС ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Одни ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… инструмСнтов CI ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Atlassian. Bitbucket Pipelines ΠΈ Bamboo β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ соврСмСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CI. Jira β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных Π² ΠΌΠΈΡ€Π΅ инструмСнтов ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ Agile ΠΈ DevOps. Jira тСсно интСгрируСтся с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ Bitbucket ΠΈ Π² сочСтании с ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠΌ CI ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ обстоят Π΄Π΅Π»Π° с Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нСпрСрывная интСграция

Π― считал сСбя Β«Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ Ρ€Π°Π·Π΄ΠΎΠ»Π±Π°Π΅ΠΌΒ», Π½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ agile ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ навСсти порядок Π² ΠΌΠΎΠ΅ΠΉ повсСднСвной ΠΆΠΈΠ·Π½ΠΈ. Для мСня истинная Ρ€Π°Π΄ΠΎΡΡ‚ΡŒ β€” Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ этими знаниями с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ людьми, публикуя многочислСнныС ΡΡ‚Π°Ρ‚ΡŒΠΈ, участвуя Π² бСсСдах ΠΈ распространяя Π²ΠΈΠ΄Π΅ΠΎΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я создаю для Atlassian.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *