Skip to main content

Що таке CI?

CI (Continuous Integration, безперервна інтеграція) - це практика, за якої розробники часто і регулярно інтегрують свої зміни в спільний репозиторій, а кожна зміна автоматично перевіряється.

Простіше кажучи: кожен коміт автоматично перевіряється, щоб не зламати проєкт.


У чому суть CI

Основна ідея CI:

  • розробники часто комітять код
  • зміни одразу потрапляють у спільний репозиторій
  • автоматично запускаються перевірки

Помилки знаходяться раніше, а не перед релізом.


Що зазвичай робить CI

Коли з'являється новий коміт / PR / тег, CI:

  1. завантажує код
  2. збирає проєкт
  3. запускає лінтери
  4. прогонює тести
  5. повідомляє результат (успіх / помилка)

Якщо щось впало - код не повинен потрапляти далі.


Коли запускається 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 - це практика безперервної інтеграції, за якої кожна зміна коду автоматично збирається і перевіряється тестами, щоб рано знаходити помилки і підтримувати стабільність проєкту.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.