Hệ thống xây dựng là một trong những phần quan trọng nhất của một tổ chức kỹ thuật vì mỗi nhà phát triển có thể tương tác với hệ thống này hàng chục hoặc hàng trăm lần mỗi ngày. Cần có một hệ thống xây dựng có đầy đủ tính năng để cho phép nhà phát triển năng suất lao động khi một tổ chức mở rộng quy mô. Đối với các nhà phát triển cá nhân, đơn giản là chỉ biên dịch mã của bạn và vì vậy, một hệ thống xây dựng dường như quá mức. Tuy nhiên, ở quy mô lớn hơn, việc có một hệ thống xây dựng sẽ giúp quản lý các phần phụ thuộc dùng chung, chẳng hạn như dựa vào một phần khác của cơ sở mã hoặc một tài nguyên bên ngoài, chẳng hạn như thư viện. Hệ thống xây dựng giúp đảm bảo rằng bạn có mọi thứ cần thiết để tạo mã trước khi bắt đầu tạo. Hệ thống xây dựng cũng tăng tốc độ khi được thiết lập để giúp các kỹ sư chia sẻ tài nguyên và kết quả.
Phần này trình bày một số thông tin cơ bản và lịch sử về việc xây dựng và hệ thống xây dựng, bao gồm cả các quyết định thiết kế đã được đưa vào việc tạo Bazel. Nếu quen thuộc với các hệ thống xây dựng dựa trên cấu phần phần mềm, chẳng hạn như Bazel, Buck và Pants, bạn có thể bỏ qua phần này. Tuy nhiên, đây là thông tin tổng quan hữu ích để hiểu lý do các hệ thống xây dựng dựa trên cấu phần phần mềm rất phù hợp để hỗ trợ quy mô.
Tại sao cần có Hệ thống xây dựng?
Nếu bạn chưa từng sử dụng hệ thống xây dựng, hãy bắt đầu từ đây. Trang này giải thích lý do bạn nên dùng hệ thống xây dựng, tại sao trình biên dịch và tập lệnh bản dựng lại không lựa chọn tốt nhất khi tổ chức của bạn bắt đầu mở rộng quy mô ra ngoài một vài nhà phát triển.
Hệ thống xây dựng dựa trên tác vụ
Trang này thảo luận về các hệ thống xây dựng dựa trên nhiệm vụ (chẳng hạn như Make, Maven và Gradle) và một số thách thức họ gặp phải.
Hệ thống xây dựng dựa trên cấu phần phần mềm
Trang này thảo luận về các hệ thống xây dựng dựa trên cấu phần phần mềm để giải quyết các vấn đề của hệ thống xây dựng dựa trên tác vụ.
-
Trang này đề cập đến các bản dựng được phân phối hoặc các bản dựng được thực thi bên ngoài máy cục bộ của bạn. Điều này đòi hỏi cơ sở hạ tầng mạnh mẽ hơn để chia sẻ tài nguyên và tạo kết quả (và đây là nơi phép thuật thực sự xảy ra!)
-
Trang này đề cập đến một số chức năng của các phần phụ thuộc ở quy mô lớn và để chống lại những phức tạp đó.