Що таке CI?
CI (Continuous Integration, безперервна інтеграція) - це практика, за якої розробники часто і регулярно інтегрують свої зміни в спільний репозиторій, а кожна зміна автоматично перевіряється.
Простіше кажучи: кожен коміт автоматично перевіряється, щоб не зламати проєкт.
У чому суть CI
Основна ідея CI:
- розробники часто комітять код
- зміни одразу потрапляють у спільний репозиторій
- автоматично запускаються перевірки
Помилки знаходяться раніше, а не перед релізом.
Що зазвичай робить CI
Коли з'являється новий коміт / PR / тег, CI:
- завантажує код
- збирає проєкт
- запускає лінтери
- прогонює тести
- повідомляє результат (успіх / помилка)
Якщо щось впало - код не повинен потрапляти далі.
Коли запускається CI
CI може запускатися:
- при кожному
push - при відкритті Pull Request
- при оновленні PR
- при створенні тегу (реліз)
Приклади CI-систем
На практиці це:
- GitHub Actions
- GitLab CI/CD
- Jenkins
- CircleCI
- Travis CI
(важливо знати ідею, а не конкретний інструмент)
Чим CI відрізняється від «без CI»
Без CI:
- баги знаходять вручну
- проблеми спливають перед релізом
- складні merge і «нічні фікси»
З CI:
- швидкий зворотний зв'язок
- менше конфліктів
- стабільний основний код
CI і Git workflow
CI особливо важливий для:
- Feature Branch Workflow
- Gitflow
- Trunk-Based Development
У всіх випадках CI - охоронець якості.
Короткий відповідь для співбесіди
CI - це практика безперервної інтеграції, за якої кожна зміна коду автоматично збирається і перевіряється тестами, щоб рано знаходити помилки і підтримувати стабільність проєкту.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.