Тестування в CD (Continuous Deployment)

Яка ж різниця між CI (Continuous Integration), CD (Continuous Deployment) та CD (Continuous Delivery)?

Безперервна інтеграція (CI)

Розробники, що застосовують СІ, щоразу виконують злиття своїх змін з основною гілкою. Зміни, внесені розробником, перевіряються шляхом збору та запуску автоматичних тестів. Такий підхід дозволяє уникати складнощів при інтеграції, коли потрібно чекати дня релізу, щоб виконати злиття змін у відповідній гілці.

При використанні СІ приділяється велика увага автоматизації тестування, внаслідок якого, при інтеграції нових комітів в основну гілку, робота програми не порушується.

Безперервне постачання (CD) є продовженням CI, оскільки відбувається автоматичне розгортання всіх змін коду в тестовому та (або) робочому середовищі після етапу складання.

Це означає, що автоматизовано не лише процес тестування, а й процес випуску продукту, тому додаток можна розгорнути в будь-який час одним натисканням.

Безперервне розгортання (CD) йде на крок далі, ніж безперервне постачання. У цьому підході кожна зміна, яка проходить всі стадії виробничого процесу, випускається клієнтам. Втручання людини не потрібне, і розгортанню нової зміни у робоче середовище може перешкодити лише помилка під час тесту.

Як ці підходи взаємопов'язані між собою?

Continuous Deployment схоже на Continuous Delivery, за винятком того, що релізи в першому виконуються автоматично.

Плюси, мінуси, ризики впровадження CD (безперервного розгортання)

Безперервне розгортання – це чудовий спосіб прискорити цикл зворотного зв'язку з клієнтами і позбавити команду зайвої напруги, тому що Дня релізу більше не буває. Розробники можуть зосередитися на створенні ПЗ. Вони бачать, як їхній код запускається в роботу за лічені хвилини, варто лише закінчити.

Так, процес безперервного розгортання дає багато переваг для всієї команди та продукту загалом. Ось деякі з них