Sistem build adalah salah satu bagian terpenting dari organisasi engineering karena setiap developer berinteraksi dengannya berpotensi puluhan atau ratusan kali per hari. Diperlukan sistem build berfitur lengkap untuk memungkinkan developer produktivitas sesuai skala organisasi. Bagi developer perorangan, mengompilasi kode Anda secara langsung cukup mudah, sehingga sistem build mungkin tampak berlebihan. Namun, pada skala yang lebih besar, memiliki sistem build akan membantu mengelola dependensi bersama, seperti mengandalkan bagian lain dari code base, atau resource eksternal, seperti library. Bangun sistem membantu memastikan bahwa Anda memiliki semua yang Anda butuhkan untuk membangun kode sebelum mulai dibangun. Membuat sistem juga meningkatkan kecepatan saat mereka diatur untuk membantu para insinyur berbagi resource dan hasil.
Bagian ini membahas beberapa sejarah dan dasar-dasar membangun dan membangun sistem, termasuk keputusan desain yang digunakan dalam pembuatan Bazel. Jika sudah terbiasa dengan sistem build berbasis artefak, seperti Bazel, Buck, dan Pants, Anda dapat melewati bagian ini, tetapi ini adalah ringkasan yang berguna untuk memahami mengapa sistem build berbasis artefak sangat baik dalam mengaktifkan skala.
Mengapa perlu menggunakan Sistem Build?
Jika Anda belum pernah menggunakan sistem build, mulailah dari sini. Halaman ini membahas alasan Anda harus menggunakan sistem build, dan mengapa compiler dan skrip build tidak pilihan terbaik setelah organisasi Anda mulai berkembang pesat developer.
-
Halaman ini membahas sistem build berbasis tugas (seperti Make, Maven, dan Gradle) serta beberapa tantangannya.
-
Halaman ini membahas sistem build berbasis artefak sebagai respons terhadap masalah poin-poin sistem build berbasis tugas.
-
Halaman ini membahas build terdistribusi, atau build yang dijalankan di luar komputer lokal Anda. Hal ini memerlukan infrastruktur yang lebih andal untuk berbagi resource dan membuat hasil (dan di sinilah keajaiban sebenarnya terjadi!)
-
Halaman ini membahas beberapa komplikasi dependensi dalam skala besar dan strategi untuk mengatasi komplikasi tersebut.