Яка ж різниця між CI (Continuous Integration), CD (Continuous Deployment) та CD (Continuous Delivery)?
Безперервна інтеграція (CI)
Розробники, що застосовують СІ, щоразу виконують злиття своїх змін з основною гілкою. Зміни, внесені розробником, перевіряються шляхом збору та запуску автоматичних тестів. Такий підхід дозволяє уникати складнощів при інтеграції, коли потрібно чекати дня релізу, щоб виконати злиття змін у відповідній гілці.
При використанні СІ приділяється велика увага автоматизації тестування, внаслідок якого, при інтеграції нових комітів в основну гілку, робота програми не порушується.
Безперервне постачання (CD) є продовженням CI, оскільки відбувається автоматичне розгортання всіх змін коду в тестовому та (або) робочому середовищі після етапу складання.
Це означає, що автоматизовано не лише процес тестування, а й процес випуску продукту, тому додаток можна розгорнути в будь-який час одним натисканням.
Безперервне розгортання (CD) йде на крок далі, ніж безперервне постачання. У цьому підході кожна зміна, яка проходить всі стадії виробничого процесу, випускається клієнтам. Втручання людини не потрібне, і розгортанню нової зміни у робоче середовище може перешкодити лише помилка під час тесту.
Як ці підходи взаємопов'язані між собою?
Continuous Deployment схоже на Continuous Delivery, за винятком того, що релізи в першому виконуються автоматично.
Плюси, мінуси, ризики впровадження CD (безперервного розгортання)
Безперервне розгортання – це чудовий спосіб прискорити цикл зворотного зв'язку з клієнтами і позбавити команду зайвої напруги, тому що Дня релізу більше не буває. Розробники можуть зосередитися на створенні ПЗ. Вони бачать, як їхній код запускається в роботу за лічені хвилини, варто лише закінчити.
Так, процес безперервного розгортання дає багато переваг для всієї команди та продукту загалом. Ось деякі з них