Trunk Based Development

Advanced Git

Amanda Crawford-Adamo

Software and Data Engineer

Co je Trunk Based Development?

  • Model větvení ve správě zdrojového kódu pro CI/CD
  • Vývojáři již nepracují se samostatnými větvemi pro vydání
  • Změny pocházejí z krátkodobých větví začleňovaných do hlavní větve
  • Malé a časté aktualizace

Graf commitů do hlavní větve s vyznačením větve jako release trunk

Advanced Git

Základní principy Trunk Based Development

  1. Časté commity do hlavní větve
  2. Krátkodobé větve (< 1 den)
  3. Průběžná integrace
  4. Feature flags pro neúplné funkce

Schéma pracovního postupu TBD. Krátkodobá větev obsahuje přepínač feature flag při commitu do hlavní větve.

Advanced Git

Feature flagging v TBD

  • Správa neúplných funkcí
  • Ochrana uživatelů před dopady
  • Postupné uvolňování funkcí

Příklad kódu s feature flag

  if feature_flag_enabled('new_feature'):
      # New feature code
  else:
      # Old feature code
Advanced Git

Průběžná integrace v TBD

  • Commity do hlavní větve spouštějí automatické sestavení a testy
  • Nižší náklady na údržbu a rychlejší vydání
  • Produkt je vždy spolehlivý a stabilní
  • Zajišťuje bezpečnost kódu a soulad s průmyslovými standardy
  • Udržuje kvalitu kódu a snižuje riziko chyb
Advanced Git

Výhody a výzvy TBD

Výhody:

  • Méně konfliktů při slučování
  • Rychlejší cykly vydání
  • Vyšší kvalita kódu
  • Lepší spolupráce

Výzvy:

  • Vyžaduje týmovou disciplínu
  • Potřeba robustního testování
  • Počáteční křivka učení
  • Správa neúplných funkcí
Advanced Git

Osvědčené postupy

  1. Časté commity malých změn
  2. Automatizace testování a nasazení
  3. Použití feature flags pro neúplné funkce
  4. Pravidelné revize kódu
  5. Monitorování po nasazení
Advanced Git

Pojďme procvičovat!

Advanced Git

Preparing Video For Download...