Derleme sistemleri, mühendislik kuruluşlarının en önemli parçalarından biridir. Bunun nedeni, her geliştiricinin ona günde veya yüzlerce kez etkileşimde bulunmasıdır. Kuruluş ölçeklendirilirken geliştirici üretkenliğini sağlamak için tam özellikli bir derleme sistemi gerekir. Bireysel geliştiriciler için kodunuzu doğrudan derlemek basittir. Bu nedenle, bir derleme sistemi aşırı görünebilir. Ancak daha geniş ölçekte, derleme tabanına sahip olmak ortak bağımlılıkları yönetmeye yardımcı olur. Örneğin, kod tabanının başka bir kısmına veya kitaplık gibi harici bir kaynağa güvenebilirsiniz. Derleme sistemleri, kodunuzu derlemeye başlamadan önce oluşturmak için ihtiyacınız olan her şeye sahip olmanızı sağlar. Derleme sistemleri, mühendislerin kaynakları ve sonuçları paylaşmalarına yardımcı olmak için kurulduğunda hızı artırır.
Bu bölümde, Bazel esnasında alınan tasarım kararları da dahil olmak üzere, sistemlerin derlenmesi ve inşa edilmesiyle ilgili bazı bilgiler yer almaktadır. Bazel, Buck ve Pants gibi yapı tabanlı derleme sistemleri hakkında bilginiz varsa bu bölümü atlayabilirsiniz ancak yapı tabanlı derleme sistemlerinin neden çalıştığını anlamanız yararlı bir genel bakıştır sağlamak için mükemmeldir.
Daha önce bir derleme sistemi kullanmadıysanız buradan başlayın. Bu sayfada, bir derleme sistemini neden kullanmanız gerektiği ve kuruluşunuz birkaç geliştiricinin ötesine geçmeye başladıktan sonra derleyicilerin ve derleme komut dosyalarının neden en iyi seçim olmadığını ele almaktadır.
Bu sayfada göreve dayalı derleme sistemleri (Make, Maven ve Gradle gibi) ve bazı zorlukları ele alınmaktadır.
Bu sayfada görev tabanlı derleme sistemlerinin sorun noktalarına yanıt olarak yapı tabanlı derleme sistemleri ele alınmaktadır.
Bu sayfada, dağıtılmış derlemeler veya yerel makinenizin dışında yürütülen derlemeler ele alınmaktadır. Bu, kaynak paylaşmak ve sonuç elde etmek için daha sağlam bir altyapı gerektirir (ve gerçek sihirbaz böyle gerçekleşir!)
Bu sayfada, büyük ölçekli bağımlılıkların bazı özellikleri ve bu komplikasyonları önlemek için stratejiler açıklanmaktadır.