Continuous Integration

DevOps процессы continuous-integration
Текущая практика
Зависит от неё
Описание

Непрерывная интеграция — это практика разработки, когда на каждое изменения кода запускается набор быстрых проверок. Если проверки не прошли, то разработчик должен исправить найденные проблемы.

Ценность
Преимущества:
  • Позволит ускорить разработку, скорость нахождения ошибок возрастет за счет быстрой обратной связи, затраты на исправление дефектов уменьшатся, на момент нахождения дефекта разработчик будет в контексте задачи. После интеграции своих изменений разработчики будут реже отвлекаться на доработки кода. Релизный цикл станет более предсказуемым.
  • Разработчики могут чаще интегрировать свои изменения в кодовую базу продукта. Благодаря проверкам можно быть уверенным, что изменения не повлияли на другие компоненты приложения. Быстрые проверки дают раннюю обратную связь по качеству продукта, можно не выходить из состояния потока и не переключая контекст вернуться к исправлению ошибки. Процесс интеграции становится проще.
  • PO получает продукт более высокого качества за счет проверок.
  • Release manager подготовка к релизу становится более предсказуемой. Пропадают длительные ожидания на merge множества изменений в релизную версию приложения/поставки.
Последствия отсутствия:
  • Merge изменений становится длительным и болезненным событием. Никто не хочет merge'ить свои изменения и откладывают merge до последнего. Все хотят merge'ить изменения еще реже, усугубляя тем самым ситуацию.
  • В merge'е участвуют тысячи строк изменений. Возникает множество конфликтов. Никто не знает как разрешение конфликтов повлияет на приложение. На разрешение конфликтов и устранение возникших ошибок тратится много времени.
Критерии оценки 9
SURVEY

Ветки в системе контроля версий "живут" не дольше 2 рабочих дней

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Проверки, запускаемые на коммит, выполняются не дольше 10 минут

Варианты по умолчанию: Да / Нет / Частично
SURVEY

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

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Если проверки завершились ошибкой, то слияние не выполняется до их исправления

Варианты по умолчанию: Да / Нет / Частично
CHECK

Ветки в Bitbucket "живут" не дольше 2 рабочих дней

CHECK

Проверки запускаемые на коммит выполняются не дольше 10 минут

CHECK

Стейджи фрагментированны (билд, версия, деплой, скан)

CHECK -1

Проверки запускаются редко, перед merge'ем, часто не проходят (завершаются ошибкой), но merge все равно производится

CHECK -1

Проверки не дают информации о качестве приложения. Проверки показывают разный результат, наличие или отсутствие ошибок, на одной и той же версии приложения

Ресурсы 1
  • Стейджи пайплайна фрагментированы, пример - https://gitlab.com/express42/starsmap/reference-pipelines/-/blob/main/.gitlab-ci.yml?ref_type=heads#L14
Метаданные
ID:
28f3539c-c2b4-457a-9de3-371882a2ff20
Slug:
continuous-integration
Версия:
2.0
Проекты:
Client2/Project1 Client1/Project1
Критерии:
4 survey 5 check
Создано:
2026-04-30
Обновлено:
2026-04-30