Dasar-Dasar Build

Laporkan masalah Lihat sumber Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Sistem build adalah salah satu bagian terpenting dari organisasi engineering karena setiap developer berinteraksi dengannya berpotensi puluhan atau ratusan kali per hari. Sistem build yang memiliki fitur lengkap diperlukan untuk mengoptimalkan produktivitas developer saat organisasi melakukan penskalaan. 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. Sistem build membantu memastikan bahwa Anda memiliki semua yang diperlukan untuk mem-build kode sebelum mulai mem-build. Sistem build juga meningkatkan kecepatan saat disiapkan untuk membantu engineer berbagi resource dan hasil.

Bagian ini membahas beberapa sejarah dan dasar-dasar pembuatan dan sistem build, termasuk keputusan desain yang digunakan untuk membuat 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 Sistem Build?

    Jika Anda belum pernah menggunakan sistem build, mulailah dari sini. Halaman ini membahas alasan Anda harus menggunakan sistem build, dan alasan compiler dan skrip build bukan pilihan terbaik setelah organisasi Anda mulai diskalakan di luar beberapa developer.

  • Sistem Build Berbasis Tugas

    Halaman ini membahas sistem build berbasis tugas (seperti Make, Maven, dan Gradle) serta beberapa tantangannya.

  • Sistem Build Berbasis Artefak

    Halaman ini membahas sistem build berbasis artefak sebagai respons terhadap poin masalah sistem build berbasis tugas.

  • Build Terdistribusi

    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!)

  • Pengelolaan Dependensi

    Halaman ini membahas beberapa komplikasi dependensi dalam skala besar dan strategi untuk mengatasi komplikasi tersebut.