Tôi đang cố gắng tự động hóa quá trình xây dựng các dự án của mình (cả java và .net) bằng cách sử dụng Ant và MSBuild. Tôi đã đọc về chúng và biết cách viết các kịch bản xây dựng trong Ant và MSBuild. Nhưng tôi tự hỏi, liệu có bất kỳ nguyên tắc hay phương pháp hay nhất nào để viết kịch bản xây dựng nói chung không? Dưới đây là hai điều tôi đã tìm thấy, nhưng tôi muốn nghe nhiều hơn từ các nhà phát triển khác.Bất kỳ phương pháp hay nhất nào để viết kịch bản xây dựng trong Ant hoặc MSBuild
- Trong khi viết một xây dựng kịch bản, chỉ cần dựa vào những yếu tố được đặt tại sự kiểm soát nguồn và có sẵn trong thư mục làm việc trong khi kiểm tra ra các nguồn. KHÔNG viết kịch bản xây dựng là phụ thuộc vào các mục không được giữ trên điều khiển nguồn.
- Nếu dự án chứa một tập hợp các hệ thống con và mỗi hệ thống con có tập lệnh xây dựng riêng của nó, tệp xây dựng của dự án chỉ cần gọi tập lệnh xây dựng của hệ thống con. Bên cạnh đó, những tập tin này nên nhập một xây dựng tập tin phổ biến có chứa các mục tiêu như biên dịch, kiểm tra, đóng gói, vv
Tôi đã nhìn thấy this post là tốt, nhưng nó là chi tiết về cách viết các nhiệm vụ. Tôi cần hướng dẫn cấp cao hơn, như đã đề cập ở trên.
Dưới đây là những hướng dẫn tôi thu thập được từ câu trả lời:
- Run mỗi xây dựng trong một môi trường sạch sẽ. Điều đó có nghĩa là mỗi tập lệnh xây dựng cần có mục tiêu
clean
. - Tạo tập lệnh thường bao gồm các mục tiêu
compile
,package
vàtest
. - Nếu một sản phẩm có các dòng phát triển khác nhau (ví dụ: dev, release), tất cả chúng phải có cùng một tập lệnh xây dựng. Tuy nhiên, các thông số khác nhau phải được chuyển cho các tập lệnh này.
- Các bản dựng được thực hiện trên các dòng phát triển thường chứa biên dịch, đóng gói, triển khai và cài đặt các bước. Nhưng xây dựng trên bản phát hành dòng bao gồm các bước tiếp theo, chẳng hạn như gắn thẻ sản phẩm và tạo ghi chú thay đổi nhật ký/phát hành.
- Tạo tập lệnh cũng phải được giữ trên kiểm soát nguồn.
- cố gắng giữ tất cả xây dựng thông tin trong xây dựng kịch bản, không phải trên máy chủ liên tục hội nhập (tre, TeamCity, vv)
- Nếu build của bạn sử dụng một tham số có thể thay đổi trong tương lai (ví dụ như địa chỉ mạng để sao chép xây dựng kết quả), không mã hóa nó thành tập lệnh xây dựng của bạn. thay vào đó, hãy sử dụng các thông số xây dựng để kiểm soát nó dễ dàng hơn .
Cảm ơn David. Nhận xét của bạn thực sự có giá trị. – hsalimi