dev-tools

Trunk-Based Development

Trunk-based development (gövde tabanlı geliştirme), her geliştiricinin günde birçok kez tek bir ortak dala — "trunk"a (genellikle main) — commit attığı, dalları ya hiç kullanmadığı ya da çok kısa ömürlü tuttuğu (haftalar değil, saatler) bir sürüm kontrol iş akışıdır. Birbirinden uzaklaşıp acı verici merge'lere yol açan uzun ömürlü feature branch'ler yerine iş sürekli olarak entegre edilir ve tamamlanmamış özellikler hazır olana dek feature flag'lerin arkasında gizlenir. Gerçek continuous integration'ı mümkün kılan dallanma modeli budur: herkes aynı güncel trunk'a sürekli entegre olduğu için merge çakışmaları küçük kalır ve "benim dalımda çalışıyordu" sürprizleri ortadan kalkar. Günde birkaç kez sürüm çıkaran AI/SaaS ekipleri için trunk-based development, yüksek hızlı mühendislik organizasyonlarının çoğunda varsayılan yöntemdir. Pratik not: her commit'te güçlü otomatik testler ve code review, ayrıca deploy'u release'ten ayıran feature flag'ler gerektirir — tamamlanmamış kodu güvenle merge edebilirsiniz çünkü production'da flag ile kapalıdır. Bu güvenlik ağı olmadan trunk-based development'e geçen ekipler acıyı merge'lerden bozuk build'lere taşımış olur.

İlgili terimler

Daha fazla Geliştirici Araçları terimi