Термін
CI/CD
Автоматичне збирання, тестування і розгортання софту після кожної зміни коду. Знижує ризик, що правка в одній частині системи тихо зламає іншу.
Оновлено
Що це означає
CI означає, що після кожної зміни коду проєкт автоматично збирається і проганяються тести. CD додає автоматичне розгортання: спочатку на staging, після схвалення - у продуктив.
Виграш не у швидкості, а в тому, що помилка знаходиться за хвилини після зміни, поки автор ще пам’ятає контекст. Без автоматизації вона знаходиться за тиждень, коли змін уже двадцять.
Літера D у скороченні означає дві різні речі. За безперервної доставки кожна версія готова до розгортання, але в продуктив її випускає людина. За безперервного розгортання в продуктив автоматично йде кожна зміна, що пройшла тести. Для систем, пов’язаних з обліковою програмою чи виставленням рахунків, зазвичай безпечніший перший варіант із ручним схваленням.
Як це працює на практиці
У проєктах на замовлення, таких як CRM або інтеграція через API, це умова підтримуваності. Один розробник упорається й без цього, команда з трьох - уже ні.
Частиною зазвичай є автоматична перевірка залежностей і вразливостей. Це дешевше за пентест і ловить більшість звичайних проблем до того, як вони потраплять у продуктив.
Під час інтеграцій з обліковою системою, наприклад вивантаження рахунків з інтернет-магазину, до автотестів входять і реальні випадки з практики: кредит-нота, рахунок в іноземній валюті, кілька ставок ПДВ в одному документі, округлення. Інакше помилка в одному з них виявиться лише під час місячного закриття, коли суми не сходяться і доводиться шукати, яка версія її внесла.
На що звернути увагу
Розгортати автоматично без тестів гірше, ніж вручну: помилка доїжджає до клієнтів швидше. А якщо червоні тести звикли проклацувати, вони перестають бути сигналом і стають технічним боргом.
Автоматичному розгортанню потрібен і шлях назад. Якщо нова версія зіпсує дані, недостатньо відкотити код, треба вміти відновити й базу. Для цього потрібне резервне копіювання даних перед кожною зміною структури бази і порядок відновлення, який хоча б раз справді перевірили, а не лише описали.
Потрібно пояснити термін на вашій конкретній ситуації? Консультації від 55 € / година без ПДВ, залежно від теми та складності.