Навіщо вам CI/CD, якщо “і так деплоїмо”
CI/CD — це не про інструмент, а про контроль ризику. Якщо реліз залежить від “запам’ятав/не запам’ятав”, команда повільнішає, а інциденти дорожчають.
1) Lint/format як перша лінія оборони
- ESLint/Prettier (або аналоги) мають працювати однаково локально й у CI.
- Блокуй мердж, якщо код не проходить базові правила.
2) Тести: мінімум, який дає впевненість
- Юніт‑тести для бізнес‑логіки.
- Інтеграційні тести для API/БД контрактів.
- E2E для критичних сценаріїв (оплата, логін, оформлення).
3) Build і артефакти
Збирай артефакт один раз і деплой його, а не “перезбирай” на проді. Це зменшує різницю між середовищами.
4) Міграції: окремий крок із запобіжниками
- Міграції повинні бути сумісні з rollout (forward‑compatible).
- Тримай правило: спочатку схема, потім код, потім прибирання старого.
5) Rollout і rollback
- Blue/Green або canary для критичних систем.
- Фіче‑флаги для змін, які важко “відкотити”.
- Автоматичний rollback при зростанні 5xx/latency.
Підсумок
Хороший CI/CD — це повторюваність: однакові перевірки, один артефакт, контроль міграцій і зрозумілий rollback. Тоді релізи стають “рутиною”, а не подією.