Как с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ DevOps ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ inhouse-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ β€” ΠΎΠΏΡ‹Ρ‚ Π’Π’Π‘

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ DevOps Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. ΠœΡ‹ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ Π² этом сами, ΠΊΠΎΠ³Π΄Π° сократили врСмя установки Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² Π² 10 Ρ€Π°Π·. Π’ систСмС FIS Profile, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π² Π’Π’Π‘, установка Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ 90 ΠΌΠΈΠ½ΡƒΡ‚, Π° 10. ВрСмя сборки Ρ€Π΅Π»ΠΈΠ·Π° снизилось с Π΄Π²ΡƒΡ… нСдСль Π΄ΠΎ Π΄Π²ΡƒΡ… Π΄Π½Π΅ΠΉ. Число постоянных Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² внСдрСния ΠΏΡ€ΠΈ этом ΡƒΠΏΠ°Π»ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ°. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΉΡ‚ΠΈ ΠΎΡ‚ Β«Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π°Β» ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Π²Π΅Π½Π΄ΠΎΡ€Π°, Π½Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π±ΠΎΡ‚Ρƒ с костылями ΠΈ Π½Π°ΠΉΡ‚ΠΈ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Под ΠΊΠ°Ρ‚ΠΎΠΌ β€” подробная история ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ построили ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

Как с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ DevOps ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ inhouse-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ — ΠΎΠΏΡ‹Ρ‚ Π’Π’Π‘
Β 

ΠŸΡ€ΠΎΠ»ΠΎΠ³: DevOps β€” это философия

Π—Π° ΠΌΠΈΠ½ΡƒΠ²ΡˆΠΈΠΉ Π³ΠΎΠ΄ с нСбольшим ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Π»ΠΈ Π½Π΅ΠΌΠ°Π»ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ внСдрСния ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ DevOps Π² Π’Π’Π‘:

  • Выстроили процСссы Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎ 12 систСмам;
  • Запустили 15 pipeline, Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠ²Π΅Π»ΠΈ Π΄ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π°;
  • Автоматизировали 1445 сцСнариСв тСстирования;
  • УспСшно Π²Π½Π΅Π΄Ρ€ΠΈΠ»ΠΈ ряд Ρ€Π΅Π»ΠΈΠ·ΠΎΠ², ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… инхаус-ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ.

Одной ΠΈΠ· самых слоТных для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ inhouse-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ внСдрСния ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ DevSecOps оказалась систСма FIS Profile β€” Ρ€ΠΎΠ·Π½ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ процСссор Π½Π° нСрСляционной Π‘Π£Π‘Π”. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΌΡ‹ смогли ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ pipeline, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ установку Π½Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π½Π΅Ρ€Π΅Π»ΠΈΠ·Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·Ρ‹. Π—Π°Π΄Π°Ρ‡Π° Π±Ρ‹Π»Π° нСпростая, Π½ΠΎ Π·Π°Ρ‚ΠΎ интСрСсная ΠΈ Π±Π΅Π· явных ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ: Π²ΠΎΡ‚ систСма β€” Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ inhouse-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. ЕдинствСнноС условиС β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CD Π΄ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ срСды.

ΠŸΠΎΠ½Π°Ρ‡Π°Π»Ρƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ казался простым ΠΈ понятным:

  • НарабатываСм Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ экспСртизу Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ добиваСмся ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ³ΠΎ уровня качСства Π±Π΅Π· Π³Ρ€ΡƒΠ±Ρ‹Ρ… Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ²;
  • Максимально встраиваСмся Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ процСссы;
  • Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌΠΈ этапами ΠΏΠΈΠ»ΠΈΠΌ pipeline ΠΈ ΡƒΠΏΠΈΡ€Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΊΠΎΠ½Ρ†ΠΎΠ² Π² ΠΏΡ€ΠΎΠ΄.

Π—Π° это врСмя ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ числСнности Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ скилы ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ долю своСго Π²ΠΊΠ»Π°Π΄Π° Π² Ρ€Π΅Π»ΠΈΠ·Ρ‹ Π΄ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ³ΠΎ уровня. И всС, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ.

Казалось Π±Ρ‹, Π²ΠΏΠΎΠ»Π½Π΅ сСбС энСргоэффСктивный ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ: Π²ΠΎΡ‚ DevOps, Π²ΠΎΡ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π²ΠΎΡ‚ набранная экспСртиза… Но Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ DevOps β€” это всС-Ρ‚Π°ΠΊΠΈ ΠΏΡ€ΠΎ Ρ„ΠΈΠ»ΠΎΡΠΎΡ„ΠΈΡŽ, Π° Π½Π΅ Β«ΠΏΡ€ΠΈΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ ΠΊ процСссу gitlab, ansible, nexus ΠΈ Π΄Π°Π»Π΅Π΅ ΠΏΠΎ списку».

Π’ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ€Π°Π· ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π² ΠΏΠ»Π°Π½ дСйствий, ΠΌΡ‹ поняли, Ρ‡Ρ‚ΠΎ строим Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя Π½Π΅ΠΊΠΈΠΉ аутсорс Π²Π΅Π½Π΄ΠΎΡ€Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² описанный Π²Ρ‹ΡˆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Ρ€Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³ процСссов, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ экспСртизы ΠΏΠΎ всСму ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для достиТСния Π²Π΅Π΄ΡƒΡ‰Π΅ΠΉ Ρ€ΠΎΠ»ΠΈ Π² этом процСссС. НС самый простой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ² ΠΏΡƒΡ‚ΡŒ идСологичСски ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
Β 

Π‘ Ρ‡Π΅Π³ΠΎ начинаСтся inhouse-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Β 

Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ прСдстояло с Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ самой Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½ΠΎΠΉ систСмой. АрхитСктурно ΠΎΠ½Π° прСдставляла собой ΠΎΠ΄Π½Ρƒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π½Π΅Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ Π‘Π£Π‘Π”, состояла ΠΈΠ· мноТСства ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… исполняСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (скриптов, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Π±Π°Ρ‚Ρ‡Π΅ΠΉ ΠΈ Ρ‚. Π΄.), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΈΡΡŒ ΠΏΠΎ нСобходимости, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ ящика: ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ запрос β€” Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚. Π‘Ρ€Π΅Π΄ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… слоТностСй стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ:

  • ЭкзотичСский язык (MUMPS);
  • ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ интСрфСйс;
  • ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с популярными срСдствами Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ;
  • ОбъСм Π΄Π°Π½Π½Ρ‹Ρ… Π² дСсятки Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚;
  • Нагрузку ΡΠ²Ρ‹ΡˆΠ΅ 2 ΠΌΠ»Π½ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² час;
  • Π—Π½Π°Ρ‡ΠΈΠΌΠΎΡΡ‚ΡŒ β€” Business-Critical.

ΠŸΡ€ΠΈ этом Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ исходного ΠΊΠΎΠ΄Π° Π½Π° нашСй сторонС отсутствовал. БовсСм. ДокумСнтация имСлась, Π½ΠΎ всС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ знания ΠΈ ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΠΈ Π±Ρ‹Π»ΠΈ Π½Π° сторонС внСшнСй ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.
К освоСнию Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎ систСмС ΠΌΡ‹ приступили практичСски с нуля, учитывая Π΅Π΅ особСнности ΠΈ слабоС распространСниС. Начали Π² октябрС 2018 Π³ΠΎΠ΄Π°:

  • Π˜Π·ΡƒΡ‡ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΈ основы ΠΊΠΎΠ΄ΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ;
  • ΠŸΡ€ΠΎΡˆΡ‚ΡƒΠ΄ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΡ‚ Π²Π΅Π½Π΄ΠΎΡ€Π° ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ курс ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅;
  • Освоили Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ скилы Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ;
  • Боставили ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‡ΠΊΡƒ для Π½ΠΎΠ²Ρ‹Ρ… участников ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹;
  • Π”ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈΡΡŒ ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Β«Π±ΠΎΠ΅Π²ΠΎΠΌΒ» Ρ€Π΅ΠΆΠΈΠΌΠ΅;
  • РСшили вопрос с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ качСства ΠΊΠΎΠ΄Π°;
  • ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ стСнд для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

На Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ экспСртизы ΠΈ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² систСму ΠΌΡ‹ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΈ мСсяца, Π° ΡƒΠΆΠ΅ с Π½Π°Ρ‡Π°Π»Π° 2019 Π³ΠΎΠ΄Π° inhouse-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π°Ρ‡Π°Π»Π° своС Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ навстрСчу свСтлому Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌΡƒ, ΠΈΠ½ΠΎΠ³Π΄Π° со скрипом, Π½ΠΎ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ ΠΈ Ρ†Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎ.

ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ рСпозитория ΠΈ автотСсты

ΠŸΠ΅Ρ€Π²Π°Ρ Π·Π°Π΄Π°Ρ‡Π° DevOps β€” Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. О прСдоставлСнии доступа Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈΡΡŒ быстро, Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ SVN с ΠΎΠ΄Π½ΠΎΠΉ trunk-Π²Π΅Ρ‚Π²ΡŒΡŽ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ для нас Git с ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° модСль ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π΅Ρ‚Π²Π΅ΠΉ ΠΈ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Git Flow. А Π΅Ρ‰Π΅ Ρƒ нас 2 ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ со своСй инфраструктурой плюс Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Π΅Π½Π΄ΠΎΡ€Π° Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Π΅ΠΉ. ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΆΠΈΡ‚ΡŒ с двумя Git’ами ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ. Π’ Ρ‚Π°ΠΊΠΎΠΉ ситуации это Π±Ρ‹Π»ΠΎ мСньшСС ΠΈΠ· Π·ΠΎΠ».

ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ рСпозитория Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π»Π°ΡΡŒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π΅Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π°ΠΏΡ€Π΅Π»ΡŽ Π½Π΅ Π±Π΅Π· ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠ»Π»Π΅Π³ ΠΈΠ· Ρ„Ρ€ΠΎΠ½Ρ‚-Π»ΠΈΠ½ΠΈΠΈ. Π‘ Git Flow Ρ€Π΅ΡˆΠΈΠ»ΠΈ для Π½Π°Ρ‡Π°Π»Π° Π½Π΅ ΠΌΡƒΠ΄Ρ€ΠΈΡ‚ΡŒ, ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡŒ Π½Π° классичСской схСмС с hotfix, develop ΠΈ release. ΠžΡ‚ master (ΠΎΠ½ ΠΆΠ΅ prod-like) Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ. НиТС ΠΌΡ‹ объясним, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ оказался для нас ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ. Π’ качСствС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ использовали внСшний Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ Π²Π΅Π½Π΄ΠΎΡ€Ρƒ, Π΅Π΄ΠΈΠ½Ρ‹ΠΉ для Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠ°Π½Π΄. Он синхронизировался с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ с Git ΠΈ Gitlab ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ процСссов.

Вопрос автотСстов Ρ€Π΅ΡˆΠΈΠ»ΡΡ Π½Π° ΡƒΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ Π»Π΅Π³ΠΊΠΎ β€” Π½Π°ΠΌ прСдоставили Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ. Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ особСнностСй систСмы Π²Ρ‹Π·ΠΎΠ² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ прСдставлял собой ΠΏΠΎΠ½ΡΡ‚Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ бизнСс-процСсса ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ являлся unit-тСстом. ΠžΡΡ‚Π°Π²Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ тСстовыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ порядок Π²Ρ‹Π·ΠΎΠ²Π° сцСнариСв с ΠΎΡ†Π΅Π½ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². По ΠΌΠ΅Ρ€Π΅ наполнСния пСрСчня сцСнариСв, сформированного Π½Π° основС статистики выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, критичности процСссов ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ рСгрСсса, Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ автотСсты. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ построСниСм pipeline.

Как Π±Ρ‹Π»ΠΎ: модСль Π΄ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ

БлоТившаяся модСль процСсса внСдрСния β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ история. КаТдая Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π»Π°ΡΡŒ Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ установочного ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π”Π°Π»Π΅Π΅ шла ручная рСгистрация Π² Jira ΠΈ ручная установка Π½Π° срСды. Для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² всС выглядСло понятно, Π½ΠΎ с ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΎΠΉ Ρ€Π΅Π»ΠΈΠ·Π° Π΄Π΅Π»Π° обстояли слоТнСС.

Π‘Π±ΠΎΡ€ΠΊΠ° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… поставок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ являлись ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π›ΡŽΠ±ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ β€” новая поставка. Помимо ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ, ΠΊ 60–70 ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ основного состава Ρ€Π΅Π»ΠΈΠ·Π° добавлялось 10–15 тСхничСских β€” вСрсий, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΈΠ· Ρ€Π΅Π»ΠΈΠ·Π° ΠΈ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ΄Π° Π²Π½Π΅Ρ€Π΅Π»ΠΈΠ·Π°ΠΌΠΈ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ поставок ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°Π»ΠΈΡΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ собой, особСнно Π² части исполняСмого ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ. Π‘Ρ‹Π»ΠΎ мноТСство зависимостСй ΠΊΠ°ΠΊ ΠΎΡ‚ ΡƒΠΆΠ΅ поставлСнного ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, установка ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ.Β 

Для получСния Π½ΡƒΠΆΠ½ΠΎΠΉ вСрсии ΠΊΠΎΠ΄Π° Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ строго ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ порядок установки, Π² Ρ…ΠΎΠ΄Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π»ΠΈΡΡŒ физичСски, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ 10–12 Ρ€Π°Π·.

ПослС установки ΠΏΠ°Ρ€Ρ‚ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ инструкции ΠΏΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ настроСчных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π Π΅Π»ΠΈΠ· собирал ΠΈ устанавливал Π²Π΅Π½Π΄ΠΎΡ€. Бостав Ρ€Π΅Π»ΠΈΠ·Π° уточнялся практичСски Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° внСдрСния, Ρ‡Ρ‚ΠΎ Π²Π»Π΅ΠΊΠ»ΠΎ Π·Π° собой созданиС «развязочных» ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ замСтная Ρ‡Π°ΡΡ‚ΡŒ поставок ΠΏΠ΅Ρ€Π΅Π΅Π·ΠΆΠ°Π»Π° ΠΈΠ· Ρ€Π΅Π»ΠΈΠ·Π° Π² Ρ€Π΅Π»ΠΈΠ· со своим хвостом «развязок».

Π’Π΅ΠΏΠ΅Ρ€ΡŒ понятно, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ β€” сборкС Ρ€Π΅Π»ΠΈΠ·Π½ΠΎΠ³ΠΎ ΠΏΠ°Π·Π»Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² β€” Сдиная master-Π²Π΅Ρ‚Π²ΡŒ Π½Π΅ ΠΈΠΌΠ΅Π»Π° практичСского смысла. Установка Π½Π° ΠΏΡ€ΠΎΠ΄ Π·Π°Π½ΠΈΠΌΠ°Π»Π° ΠΎΡ‚ ΠΏΠΎΠ»ΡƒΡ‚ΠΎΡ€Π° Π΄ΠΎ Π΄Π²ΡƒΡ… часов Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π°. Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‡Ρ‚ΠΎ хотя Π±Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ установщика задавался порядок ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: поля ΠΈ структуры Π·Π°Π΅Π·ΠΆΠ°Π»ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ для Π½ΠΈΡ… ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, это Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

Π›ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π±Ρ‹Π»ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹ установки Π² Π²ΠΈΠ΄Π΅ ΠΊΡ€ΠΈΠ²Ρ‹Ρ… вСрсий ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², лишнСго ΠΊΠΎΠ΄Π°, ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… инструкций ΠΈ Π½Π΅ΡƒΡ‡Ρ‚Π΅Π½Π½Ρ‹Ρ… взаимовлияний ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»ΠΈΡ…ΠΎΡ€Π°Π΄ΠΎΡ‡Π½ΠΎ ΡƒΡΡ‚Ρ€Π°Π½ΡΠ»ΠΈΡΡŒ послС Ρ€Π΅Π»ΠΈΠ·Π°.Β 

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ обновлСния: сборка ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ ΠΈ доставка

ΠΠ²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π°Ρ‡Π°Π»ΠΈ с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· Ρ‚Ρ€ΡƒΠ±Ρƒ ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρƒ:

  • Π—Π°Π±Ρ€Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ поставку ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°;
  • Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅ Π½Π° Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ срСду;
  • ΠŸΡ€ΠΎΠ³Π½Π°Ρ‚ΡŒ автотСсты;
  • ΠžΡ†Π΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ установки;
  • Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ pipeline Π½Π° сторонС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ тСстирования.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ pipeline Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ Π² Jira ΠΈ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π·Π»ΠΈΠ²ΠΊΠΈ Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Ρ‹ тСстирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависят ΠΎΡ‚ сроков внСдрСния Π·Π°Π΄Π°Ρ‡ΠΈ. Π’Ρ€ΠΈΠ³Π³Π΅Ρ€ β€” письмо ΠΎ готовности поставки Π½Π° Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ адрСс. Π­Ρ‚ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π±Ρ‹Π» явный ΠΊΠΎΡΡ‚Ρ‹Π»ΡŒ, Π½ΠΎ с Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ. Π‘ мая 2019 Π½Π°Ρ‡Π°Π»Π°ΡΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΊΠΎΠ΄Π° с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ Π½Π° Π½Π°ΡˆΠΈΡ… срСдах. ΠŸΡ€ΠΎΡ†Π΅ΡΡ пошСл, ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ привСсти Π΅Π³ΠΎ Π² ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½Ρ‹ΠΉ Π²ΠΈΠ΄:

  • КаТдая Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° выполняСтся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ, которая соотвСтствуСт установочному ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ ΠΈ вливаСтся Π² Ρ†Π΅Π»Π΅Π²ΡƒΡŽ мастСр-Π²Π΅Ρ‚Π²ΡŒ;
  • Π’Ρ€ΠΈΠ³Π³Π΅Ρ€ запуска pipeline β€” появлСниС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π° Π² мастСр-Π²Π΅Ρ‚Π²ΠΈ Ρ‡Π΅Ρ€Π΅Π· merge request, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠ΅ΠΉΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ инхаус;
  • Бинхронизация Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² происходит Ρ€Π°Π· Π² ΠΏΡΡ‚ΡŒ ΠΌΠΈΠ½ΡƒΡ‚;
  • ЗапускаСтся сборка установочного ΠΏΠ°ΠΊΠ΅Ρ‚Π° β€” ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ сборщика, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ Π²Π΅Π½Π΄ΠΎΡ€Π°.

ПослС этого шли ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ шаги ΠΏΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΊΠΎΠ΄Π°, ΠΏΠΎ запуску Ρ‚Ρ€ΡƒΠ±Ρ‹ ΠΈ сборкС Π½Π° нашСй сторонС.

Π”Π°Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ запустили Π² июлС. Врудности ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΏΠΎΠ²Π»Π΅ΠΊΠ»ΠΈ Π·Π° собой Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΎ Π²Π΅Π½Π΄ΠΎΡ€Π° ΠΈ Ρ„Ρ€ΠΎΠ½Ρ‚-Π»ΠΈΠ½ΠΈΠΈ, Π½ΠΎ Π·Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ мСсяц Π½Π°ΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ всС ΡˆΠ΅Ρ€ΠΎΡ…ΠΎΠ²Π°Ρ‚ΠΎΡΡ‚ΠΈ ΠΈ Π½Π°Π»Π°Π΄ΠΈΡ‚ΡŒ процСсс Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…. Π£ нас появилась сборка ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ ΠΈ доставка.
Π’ августС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ установку ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ΄ срСдствами нашСго pipeline, Π° с сСнтября всС Π±Π΅Π· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ установки ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π½Π΅Ρ€Π΅Π»ΠΈΠ·Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Ρ‡Π΅Ρ€Π΅Π· нашС срСдство CD. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π°ΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Π΄ΠΎΠ»ΠΈ inhouse Π·Π°Π΄Π°Ρ‡ Π² 40% состава Ρ€Π΅Π»ΠΈΠ·Π° ΠΏΡ€ΠΈ мСньшСй ΠΏΠΎ числСнности, Ρ‡Π΅ΠΌ Ρƒ Π²Π΅Π½Π΄ΠΎΡ€Π°, ΠΊΠΎΠΌΠ°Π½Π΄Π΅ β€” это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ успСх. ΠžΡΡ‚Π°Π²Π°Π»Π°ΡΡŒ самая ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Π°Ρ Π·Π°Π΄Π°Ρ‡Π° β€” ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·.

ЀинальноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: кумулятивныС установочныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹Β 

ΠœΡ‹ прСкрасно ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ ΡΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π²Π΅Π½Π΄ΠΎΡ€Π° β€” Ρ‚Π°ΠΊ сСбС автоматизация, Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΡΠΌΡ‹ΡΠ»ΠΈΡ‚ΡŒ сам процСсс. РСшСниС Π»Π΅ΠΆΠ°Π»ΠΎ Π½Π° повСрхности β€” ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΡƒΠΌΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΡƒΡŽ поставку ΠΈΠ· Ρ€Π΅Π»ΠΈΠ·Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ со всСми ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π½ΡƒΠΆΠ½Ρ‹Ρ… вСрсий.

Начали с proof of concept: собрали Ρ€ΡƒΠΊΠ°ΠΌΠΈ Ρ€Π΅Π»ΠΈΠ·Π½ΡƒΡŽ поставку ΠΏΠΎ составу ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π³ΠΎ внСдрСния ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π΅Π΅ установку Π½Π° Π½Π°ΡˆΠΈΡ… срСдах. ВсС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, концСпция оказалась ТизнСспособна. Π”Π°Π»Π΅Π΅ Ρ€Π΅ΡˆΠΈΠ»ΠΈ вопрос со скриптованиСм ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… настроСк ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡ… Π² ΠΊΠΎΠΌΠΌΠΈΡ‚. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΡƒΠΆΠ΅ Π½Π° срСдах тСстирования Π² Ρ€Π°ΠΌΠΊΠ°Ρ… обновлСния ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π°. Установка Π±Ρ‹Π»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ, Ρ…ΠΎΡ‚ΡŒ ΠΈ с ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΌ рядом Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ внСдрСния. Но Π³Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π΄Π°Π»ΠΈ Π΄ΠΎΠ±Ρ€ΠΎ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ² Π² Π½ΠΎΡΠ±Ρ€ΡŒΡΠΊΠΎΠΌ Ρ€Π΅Π»ΠΈΠ·Π΅ с нашСй сборкой.

ΠžΡΡ‚Π°Π²Π°Π»ΠΎΡΡŒ Ρ‡ΡƒΡ‚ΡŒ большС мСсяца, собранныС Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ поставки ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ Π½Π°ΠΌΠ΅ΠΊΠ°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² ΠΎΠ±Ρ€Π΅Π·. Π‘Π±ΠΎΡ€ΠΊΡƒ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· Ρ€Π΅Π»ΠΈΠ·Π½ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ, Π½ΠΎ ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ Π΅Π΅ ΠΎΡ‚Π±Ρ€Π°Π½Ρ‡Π΅Π²Π°Ρ‚ΡŒ? Prod-like Ρƒ нас Π½Π΅Ρ‚, Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅Ρ‚Π²ΠΈ Π½Π΅ годятся β€” ΠΌΠ½ΠΎΠ³ΠΎ лишнСго ΠΊΠΎΠ΄Π°. Надо срочно ΠΏΠΈΠ»ΠΈΡ‚ΡŒ prod-like, Π° это ΡΠ²Ρ‹ΡˆΠ΅ Ρ‚Ρ€Π΅Ρ… тысяч ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ². Π‘ΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Ρ€ΡƒΠΊΠ°ΠΌΠΈ β€” Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Набросали скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Π΅ΠΆΠΈΡ‚ ΠΏΠΎ Π»ΠΎΠ³Ρƒ установки ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π° ΠΈ Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² Π²Π΅Ρ‚Π²ΡŒ. Π Π°Π·Π° с Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΎΠ½ сработал ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, ΠΈ послС Β«Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ напильником» Π²Π΅Ρ‚Π²ΡŒ Π±Ρ‹Π»Π° Π³ΠΎΡ‚ΠΎΠ²Π°.Β 

Π‘Π±ΠΎΡ€Ρ‰ΠΈΠΊ установочного ΠΏΠ°ΠΊΠ΅Ρ‚Π° написали свой, ΡΠΏΡ€Π°Π²ΠΈΠ»ΠΈΡΡŒ Π·Π° нСдСлю. ΠŸΠΎΡ‚ΠΎΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ установщик ΠΈΠ· core-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы, Π±Π»Π°Π³ΠΎ ΠΎΠ½Π° open-source. ПослС ряда ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ ΠΈ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΎΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°Π»ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ. Π’Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ оформился состав Ρ€Π΅Π»ΠΈΠ·Π°, для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ установки ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ тСстовый ΠΊΠΎΠ½Ρ‚ΡƒΡ€ с ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²ΠΎΠΌ, написали для этого ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ скрипт.

ЕстСствСнно, ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΉ установкС Π±Ρ‹Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ, Π½ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΊΠΎΠ΄ Β«Π·Π°Π΅Ρ…Π°Π»Β». А ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ с Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ установки всС стало Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒΡΡ. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ состава ΠΈ Π²Π΅Ρ€ΡΠΈΠΎΠ½Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² отслСТивали ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π² Ρ€ΡƒΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Ρ‡Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС Π±Ρ‹Π»ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎ.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² большом количСствС Π²Π½Π΅Ρ€Π΅Π»ΠΈΠ·ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ. Но с Prod-like Π²Π΅Ρ‚Π²ΡŒΡŽ ΠΈ Rebase Π·Π°Π΄Π°Ρ‡Π° стала ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΉ.

Π‘ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π°, быстро ΠΈ Π±Π΅Π· ошибок

К ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Ρ€Π΅Π»ΠΈΠ·Π° ΠΌΡ‹ подошли с оптимистичным настроСм ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ дСсятком ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… установок Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Ρ‹. Но Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π·Π° сутки Π΄ΠΎ срока оказалось, Ρ‡Ρ‚ΠΎ Π²Π΅Π½Π΄ΠΎΡ€ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Ρ€Π΅Π»ΠΈΠ·Π° ΠΊ установкС принятым способом. Если ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ наша сборка Π½Π΅ Π·Π°ΠΉΠ΄Π΅Ρ‚, Ρ‚ΠΎ Ρ€Π΅Π»ΠΈΠ· Π±ΡƒΠ΄Π΅Ρ‚ сорван. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ нашими стараниями, Ρ‡Ρ‚ΠΎ особСнно нСприятно. ΠŸΡƒΡ‚Π΅ΠΉ для отступлСния Ρƒ нас Π½Π΅ Π±Ρ‹Π»ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π»ΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½Ρ‹ дСйствий ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ установку.

Π£Π΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ вСсь Ρ€Π΅Π»ΠΈΠ·, состоящий ΠΈΠ· 800 с лишним ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π·Π°Π΅Ρ…Π°Π» ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π° ΠΈ всСго Π·Π° 10 ΠΌΠΈΠ½ΡƒΡ‚. Π¦Π΅Π»Ρ‹ΠΉ час ΠΌΡ‹ вывСряли Π»ΠΎΠ³ΠΈ Π² поисках ошибок, Π½ΠΎ Π½Π΅ нашли Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ.

Π’Π΅ΡΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ дСнь Π² Ρ€Π΅Π»ΠΈΠ·Π½ΠΎΠΌ Ρ‡Π°Ρ‚Π΅ Ρ†Π°Ρ€ΠΈΠ»Π° Ρ‚ΠΈΡˆΠΈΠ½Π°: Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ внСдрСния, ΠΊΡ€ΠΈΠ²Ρ‹Ρ… вСрсий ΠΈΠ»ΠΈ Β«Π»Π΅Π²ΠΎΠ³ΠΎΒ» ΠΊΠΎΠ΄Π°. Π”Π°ΠΆΠ΅ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π½Π΅Π»ΠΎΠ²ΠΊΠΎ Π±Ρ‹Π»ΠΎ. ПозТС Π²Ρ‹Π»Π΅Π·Π»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ замСчания, Π½ΠΎ Π½Π° Ρ„ΠΎΠ½Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° ΠΈΡ… количСство ΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ Π±Ρ‹Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ Π½ΠΈΠΆΠ΅.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ эффСктом ΠΎΡ‚ кумулятива оказалось ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ качСства сборки ΠΈ тСстирования. Π—Π° счСт ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… установок ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π° своСврСмСнно Π²Ρ‹ΡΠ²Π»ΡΠ»ΠΈΡΡŒ Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹ сборки ΠΈ ошибки развСртывания. ВСстированиС Π² ΠΏΠΎΠ»Π½Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·Π½Ρ‹Ρ… конфигурациях ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹ взаимовлияния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΡ€ΠΎΡΠ²Π»ΡΠ»ΠΈΡΡŒ ΠΏΡ€ΠΈ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… установках. Π­Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π±Ρ‹Π» успСх, особСнно Π½Π° Ρ„ΠΎΠ½Π΅ нашСго Π²ΠΊΠ»Π°Π΄Π° Π² Ρ€Π΅Π»ΠΈΠ· Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ 57%.

Π˜Ρ‚ΠΎΠ³ΠΈ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Ρ‹

МСнСС Ρ‡Π΅ΠΌ Π·Π° Π³ΠΎΠ΄ Π½Π°ΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ:

  • ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΠΎ экзотичСской систСмС;
  • Π£ΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Π²Π΅Π½Π΄ΠΎΡ€Π°;
  • Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ CI/CD для вСсьма Π½Π΅Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½ΠΎΠ³ΠΎ legacy;
  • ΠŸΠΎΠ΄Π½ΡΡ‚ΡŒ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ тСхничСский ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ процСссы внСдрСния;
  • Π—Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ развСртывания;
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство ошибок внСдрСния;
  • Π£Π²Π΅Ρ€Π΅Π½Π½ΠΎ Π·Π°ΡΠ²ΠΈΡ‚ΡŒ ΠΎ сСбС ΠΊΠ°ΠΊ ΠΎ Π²Π΅Π΄ΡƒΡ‰Π΅ΠΉ экспСртизС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

РазумССтся, ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΈΠ· описанного выглядит ΠΊΠ°ΠΊ откровСнная костылизация, Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ²Ρ‹ особСнности систСмы ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Π½Π΅ΠΉ процСссныС ограничСния. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ измСнСния ΠΊΠΎΡΠ½ΡƒΠ»ΠΈΡΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈ сСрвисов ИБ Profile (мастСр-счСта, пластиковыС ΠΊΠ°Ρ€Ρ‚Ρ‹, Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ счСта, эскроу, ΠΊΡ€Π΅Π΄ΠΈΡ‚ Π½Π°Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ), Π½ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊ любой ИБ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ поставлСна Π·Π°Π΄Π°Ρ‡Π° внСдрСния ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ DevOps. ΠšΡƒΠΌΡƒΠ»ΡΡ‚ΠΈΠ²Π½ΡƒΡŽ модСль ΠΌΠΎΠΆΠ½ΠΎ смСло Ρ‚ΠΈΡ€Π°ΠΆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ внСдрСния (Π² Ρ‚ΠΎΠΌ числС Π²Π½Π΅Ρ€Π΅Π»ΠΈΠ·Π½Ρ‹Π΅) ΠΈΠ· мноТСства поставок.

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