Kiến thức cơ bản về việc xây dựng

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 tương tác với hệ thống này có thể hàng chục hoặc hàng trăm lần mỗi ngày. Bạn cần có một hệ thống xây 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 xây dựng có thể có vẻ không cần thiết. 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 được chia sẻ, 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 để xây dựng mã trước khi quá trình xây dựng bắt đầu. Hệ thống xây dựng cũng giúp tăng tốc độ khi được thiết lập để giúp 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ế để 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 hệ thống xây dựng dựa trên cấu phần phần mềm giúp mở rộng quy mô một cách hiệu quả.

  • 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 trình bày lý do bạn nên sử dụng hệ thống xây dựng và 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ề hệ thống xây dựng dựa trên tác vụ (chẳng hạn như Make, Maven và Gradle) và 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 xây dựng dựa trên cấu phần phần mềm để giải quyết những vấn đề của hệ thống xây dựng dựa trên tác vụ.

  • Bản dựng phân tán

    Trang này trình bày về bản dựng phân tán hoặ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à kết quả xây dựng (và đây là nơi phép thuật thực sự xảy ra!)

  • Quản lý phần phụ thuộc

    Trang này trình bày một số vấn đề phức tạp về 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 đó.