Hệ thống bản 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 bản dựng đầy đủ tính năng để giúp nhà phát triển làm việc hiệu quả khi tổ chức mở rộng quy mô. Đối với các nhà phát triển riêng lẻ, việc chỉ cần biên dịch mã của bạn là điều đơn giản, vì vậy, hệ thống tạo bản dựng có vẻ dư thừa. 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ư một 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 để xây dựng mã trước khi bắt đầu xây dựng. Các hệ thống bản 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 về lịch sử và kiến thức cơ bản về việc tạo và xây dựng hệ thống, bao gồm cả các quyết định thiết kế đã được đưa ra khi 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 có khả năng mở rộng tuyệt vời.
Tại sao cần có Hệ thống tạo bản dựng?
Nếu bạn chưa từng sử dụng hệ thống bản dựng, hãy bắt đầu từ đây. Trang này trình bày lý do bạn nên sử dụng hệ thống xây dựng, cũng như lý do trình biên dịch và tập lệnh xây dựng không phải là lựa chọn tốt nhất khi tổ chức của bạn bắt đầu mở rộng quy mô vượt quá 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 tác vụ (chẳng hạn như Make, Maven và Gradle) cũng như một số thách thức của các hệ thống này.
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ề hệ thống bản dựng dựa trên cấu phần phần mềm để giải quyết những điểm khó khăn của hệ thống bản dựng dựa trên tác vụ.
-
Trang này đề cập đến các bản dựng phân tán 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ự diễn ra!)
-
Trang này đề cập đến một số vấn đề phức tạp về các phần phụ thuộc ở quy mô lớn và các chiến lược để khắc phục những vấn đề phức tạp đó.