Trunk Based Development

Zaawansowany Git

Amanda Crawford-Adamo

Software and Data Engineer

Czym jest Trunk Based Development?

  • Model CI/CD oparty na gałęziach kontroli wersji
  • Programiści nie wypychają zmian do oddzielnych gałęzi wydań
  • Zmiany pochodzą z krótkotrwałych gałęzi scalanych z główną
  • Małe i częste aktualizacje

Wykres commitów do głównej gałęzi pokazujący gałąź jako trunk wydania

Zaawansowany Git

Podstawowe zasady Trunk Based Development

  1. Częste commity do głównej gałęzi
  2. Krótkotrwałe gałęzie funkcji (< 1 dzień)
  3. Ciągła integracja
  4. Flagi funkcji dla niekompletnych prac

Schemat przepływu pracy TBD. Krótkotrwała gałąź zawiera przełącznik flagi funkcji przy scalaniu z główną.

Zaawansowany Git

Flagi funkcji w TBD

  • Zarządza niekompletnymi funkcjami
  • Chroni użytkowników przed wpływem zmian
  • Stopniowe udostępnianie funkcji

Przykładowy kod flagi funkcji

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

Ciągła integracja w TBD

  • Commity do głównej gałęzi wyzwalają automatyczne budowanie i testy
  • Mniejsza liczba zadań konserwacyjnych i szybsze wydania
  • Produkt zawsze niezawodny i stabilny
  • Zapewnienie bezpieczeństwa kodu i zgodności ze standardami branżowymi
  • Utrzymanie jakości kodu i redukcja ryzyka błędów
Zaawansowany Git

Korzyści i wyzwania TBD

Korzyści:

  • Mniej konfliktów scalania
  • Szybsze cykle wydań
  • Lepsza jakość kodu
  • Lepsza współpraca

Wyzwania:

  • Wymaga dyscypliny zespołu
  • Potrzebuje solidnych testów
  • Początkowa krzywa uczenia się
  • Zarządzanie niekompletnymi funkcjami
Zaawansowany Git

Najlepsze praktyki

  1. Częste zatwierdzanie małych zmian
  2. Automatyzacja testów i wdrożeń
  3. Używanie flag funkcji dla niekompletnych prac
  4. Regularne przeglądy kodu
  5. Monitorowanie po wdrożeniu
Zaawansowany Git

Czas na ćwiczenia!

Zaawansowany Git

Preparing Video For Download...