Trunk Based Development

Fortgeschrittenes Git

Amanda Crawford-Adamo

Software and Data Engineer

Was ist Trunk Based Development?

  • Versionsverwaltungs- und Branching-Modell für CI/CD
  • Entwickler pushen nicht mehr auf separate Release-Branches
  • Änderungen kommen von kurzlebigen Branches in main
  • Kleine, häufige Updates

Ein Diagramm mit Commits auf den main-Branch; der Branch dient als Release-Trunk

Fortgeschrittenes Git

Kernprinzipien von Trunk Based Development

  1. Häufige Commits auf main
  2. Kurzlebige Feature-Branches (< 1 Tag)
  3. Continuous Integration
  4. Feature-Flags für unfertige Arbeit

Darstellung des Trunk-basierten Workflows. Kurzlebiger Branch nutzt einen Feature-Flag-Toggle beim Commit auf main.

Fortgeschrittenes Git

Feature-Flagging in TBD

  • Verwalten unfertiger Features
  • Verhindern, dass Nutzer betroffen sind
  • Features werden schrittweise ausgerollt

Beispiel-Feature-Flag-Code

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

Continuous Integration in TBD

  • Commits auf main starten automatisierten Build und Tests
  • Weniger Wartung, schnellere Releases
  • Produkt stets zuverlässig und stabil
  • Gewährleistet sichere Software und Compliance mit Branchenstandards
  • Hält Codequalität hoch, senkt Bug-Risiko
Fortgeschrittenes Git

Vorteile und Herausforderungen von TBD

Vorteile:

  • Weniger Merge-Konflikte
  • Schnellere Release-Zyklen
  • Bessere Codequalität
  • Bessere Zusammenarbeit

Herausforderungen:

  • Erfordert Teamdisziplin
  • Braucht robuste Tests
  • Anfangs Lernkurve
  • Umgang mit unfertigen Features
Fortgeschrittenes Git

Best Practices

  1. Häufig kleine Änderungen committen
  2. Tests und Deployment automatisieren
  3. Feature-Flags für unfertige Arbeit nutzen
  4. Regelmäßige Code-Reviews durchführen
  5. Nach dem Deployment monitoren
Fortgeschrittenes Git

Lass uns üben!

Fortgeschrittenes Git

Preparing Video For Download...