Trunk Based Development

Просунуте Git

Amanda Crawford-Adamo

Software and Data Engineer

Що таке Trunk Based Development?

  • Модель гілкування контролю версій для CI/CD
  • Розробники більше не пушать у окремі релізні гілки
  • Зміни з короткоживучих гілок мержаться в main
  • Невеликі й часті оновлення

Графік комітів у main та показ гілки як релізного «стовбура»

Просунуте Git

Основні принципи Trunk Based Development

  1. Часті коміти в main
  2. Короткоживучі фіче-гілки (< 1 дня)
  3. Безперервна інтеграція
  4. Feature flags для незавершеної роботи

Схема процесу TBD. Коротка гілка містить перемикач feature flag під час коміту в main.

Просунуте Git

Feature flagging у TBD

  • Керує незавершеними фічами
  • Не впливає на користувачів
  • Фічі випускаються поступово

Приклад коду з Feature Flag

  if feature_flag_enabled('new_feature'):
      # New feature code
  else:
      # Old feature code
Просунуте Git

Безперервна інтеграція в TBD

  • Коміти в main запускають автоматичну збірку та тести
  • Менше супроводу й швидші релізи
  • Продукт завжди надійний і стабільний
  • Гарантує безпеку коду й відповідність стандартам
  • Підтримує якість коду та знижує ризик багів
Просунуте Git

Переваги й виклики TBD

Переваги:

  • Менше конфліктів під час злиття
  • Швидші цикли релізів
  • Вища якість коду
  • Краща співпраця

Виклики:

  • Потрібна дисципліна команди
  • Необхідне надійне тестування
  • Початкова крива навчання
  • Керування незавершеними фічами
Просунуте Git

Найкращі практики

  1. Часто комітьте малі зміни
  2. Автоматизуйте тестування й розгортання
  3. Використовуйте feature flags для незавершених задач
  4. Регулярно проводьте code review
  5. Моніторте після розгортання
Просунуте Git

Давайте потренуємось!

Просунуте Git

Preparing Video For Download...