Trunk Based Development

Git Tingkat Lanjut

Amanda Crawford-Adamo

Software and Data Engineer

Apa itu Trunk Based Development?

  • Model branching kontrol versi untuk CI/CD
  • Developer tidak lagi mendorong ke branch rilis terpisah
  • Perubahan dari branch singkat lalu di-merge ke main
  • Pembaruan kecil dan sering

Grafik commit ke main dan branch sebagai trunk rilis

Git Tingkat Lanjut

Prinsip inti Trunk Based Development

  1. Commit sering ke main
  2. Feature branch berumur pendek (< 1 hari)
  3. Continuous integration
  4. Feature flag untuk pekerjaan belum selesai

Ilustrasi alur kerja trunk based. Branch singkat memakai toggle feature flag saat commit ke main.

Git Tingkat Lanjut

Feature flagging dalam TBD

  • Mengelola fitur belum lengkap
  • Mencegah dampak ke pengguna
  • Rilis bertahap

Contoh Kode Feature Flag

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

Continuous integration pada TBD

  • Commit ke main memicu build dan test otomatis
  • Mengurangi pemeliharaan dan mempercepat rilis
  • Produk tetap andal dan stabil
  • Memastikan keamanan kode dan kepatuhan standar industri
  • Menjaga kualitas kode dan menurunkan risiko bug
Git Tingkat Lanjut

Manfaat dan tantangan TBD

Manfaat:

  • Konflik merge berkurang
  • Siklus rilis lebih cepat
  • Kualitas kode meningkat
  • Kolaborasi lebih baik

Tantangan:

  • Perlu disiplin tim
  • Butuh pengujian yang kuat
  • Kurva belajar awal
  • Mengelola fitur belum lengkap
Git Tingkat Lanjut

Praktik Terbaik

  1. Commit kecil dan sering
  2. Otomatiskan testing dan deployment
  3. Gunakan feature flag untuk pekerjaan belum selesai
  4. Lakukan code review rutin
  5. Monitor pasca-deployment
Git Tingkat Lanjut

Ayo berlatih!

Git Tingkat Lanjut

Preparing Video For Download...