advanced

Trunk-based development

Интегрируйте мелкие изменения часто за тестами, flags и CI, чтобы main оставался deployable.

Trunk-based development часто вливает мелкие изменения в общий main — иногда несколько раз в день. Нужны сильные автотесты, быстрый CI, дисциплина review, feature flags и возможность deploy/rollback.

| Предпосылка | Зачем | |-------------|-------| | Быстрый CI | Мелким батчам нужен быстрый feedback | | Feature flags | Скрыть незавершённое на main | | Branch protection | Main остаётся releasable | | Observability | Поймать регрессии после merge |

Разработчики используют очень короткие ветки или коммит в main с review через PR до merge.

На интервью: deployable main, разделение интеграции кода и релиза фичи, когда trunk-based лучше долгого GitFlow.

Типовые ошибки: trunk-based без тестов и flags переносит риск сразу в production; пропуск review «потому что trunk».

Компромисс — частота интеграции против страховки длительной изоляции на ветках.

Чеклист:

  • Частая интеграция мелких изменений.
  • Releasable main с flags и тестами.
  • CI и branch protection как guardrails.
  • Rollback и мониторинг, а не надежда.