Dasar-Dasar Build

Laporkan masalah Lihat sumber Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Sistem build adalah salah satu bagian terpenting dari organisasi engineering karena setiap developer berinteraksi dengannya puluhan atau ratusan kali per hari. Sistem build yang memiliki fitur lengkap diperlukan untuk meningkatkan produktivitas developer seiring dengan pertumbuhan organisasi. Untuk developer perorangan, cukup kompilasi kode Anda dan sistem build mungkin tampak berlebihan. Namun, dalam skala yang lebih besar, memiliki sistem build akan membantu mengelola dependensi bersama, seperti mengandalkan bagian lain dari basis kode, atau resource eksternal, seperti library. Sistem build membantu memastikan bahwa Anda memiliki semua yang diperlukan untuk membangun kode sebelum mulai membangun. Sistem build juga meningkatkan kecepatan saat disiapkan untuk membantu engineer membagikan resource dan hasil.

Bagian ini membahas beberapa sejarah dan dasar-dasar pembuatan dan sistem build, termasuk keputusan desain yang digunakan untuk membuat Bazel. Jika Anda sudah familiar dengan sistem build berbasis artefak, seperti Bazel, Buck, dan Pants, Anda dapat melewati bagian ini, tetapi bagian ini adalah ringkasan yang berguna untuk memahami mengapa sistem build berbasis artefak sangat baik dalam memungkinkan penskalaan.

  • Mengapa Sistem Build?

    Jika Anda belum pernah menggunakan sistem build sebelumnya, mulai dari sini. Halaman ini membahas alasan Anda harus menggunakan sistem build, dan alasan compiler serta skrip build bukan pilihan terbaik setelah organisasi Anda mulai berkembang melampaui 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 masalah sistem build berbasis tugas.

  • Build Terdistribusi

    Halaman ini membahas build terdistribusi, atau build yang dijalankan di luar mesin lokal Anda. Hal ini memerlukan infrastruktur yang lebih andal untuk berbagi resource dan membangun hasil (dan di sinilah keajaiban sebenarnya terjadi!)

  • Pengelolaan Dependensi

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