Dasar-Dasar Build

Laporkan masalah Lihat sumber Per Malam · 7,2 · 7,1 · 7,0 · 6,5 · 6,4

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. Untuk pengembang individu, mudah untuk mengompilasi kode Anda sehingga sistem build akan tampak berlebihan. Tetapi pada skala yang lebih besar, memiliki sistem build 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 Anda familier dengan sistem build berbasis artefak, seperti Bazel, Buck, dan Pants, Anda dapat melewatkan bagian ini, tetapi ini adalah ikhtisar yang membantu untuk memahami alasannya sistem build berbasis artefak sangat baik dalam memungkinkan skala.

  • Mengapa perlu menggunakan Sistem Build?

    Jika Anda belum pernah menggunakan sistem build sebelumnya, 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.

  • Sistem Build Berbasis Tugas

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

  • Sistem Build Berbasis Artefak

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

  • Build Terdistribusi

    Halaman ini membahas build terdistribusi, atau build yang dieksekusi di luar komputer lokal Anda. Hal ini membutuhkan infrastruktur yang lebih kuat untuk berbagi sumber daya dan hasil build (dan di situlah keahlian sebenarnya terjadi!)

  • Pengelolaan Dependensi

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