Dasar-Dasar Build

Sistem build adalah salah satu bagian terpenting dari organisasi rekayasa karena setiap developer berinteraksi dengannya puluhan atau ratusan kali per hari. Sistem build berfitur lengkap diperlukan untuk memungkinkan produktivitas developer saat organisasi berkembang. Bagi setiap developer, sangat mudah untuk mengompilasi kode Anda sehingga sistem build mungkin tampak berlebihan. Namun pada skala yang lebih besar, memiliki sistem build dapat 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 Anda sebelum mulai mem-build. Sistem build juga meningkatkan kecepatan saat disiapkan untuk membantu engineer membagikan resource dan hasil.

Bagian ini membahas beberapa sejarah dan dasar-dasar pembuatan serta proses build sistem, termasuk keputusan desain yang mencakup pembuatan Bazel. Jika Anda familier dengan sistem build berbasis artefak, seperti Bazel, Buck, dan Celana, Anda dapat melewati bagian ini, tetapi akan lebih mudah untuk memahami alasan sistem build berbasis artefak sempurna dalam meningkatkan skala.

  • Mengapa harus Membuat Sistem?

    Jika Anda belum pernah menggunakan sistem build, mulailah di sini. Halaman ini membahas alasan Anda harus menggunakan sistem build, dan mengapa compiler serta skrip build bukanlah pilihan terbaik setelah organisasi Anda mulai menyesuaikan skala dengan 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 titik masalah sistem build berbasis tugas.

  • Build yang Didistribusikan

    Halaman ini mencakup build terdistribusi atau build yang dijalankan di luar mesin lokal Anda. Hal ini memerlukan infrastruktur yang lebih andal untuk berbagi resource dan membuat hasil (dan di situlah wizard yang sebenarnya terjadi!)

  • Pengelolaan Dependensi

    Halaman ini mencakup beberapa komplikasi dependensi dalam skala besar dan strategi untuk melawan komplikasi tersebut.