2012-12-07 28 views

Trả lời

14

Bạn có thể thực hiện việc này bằng cách kiểm soát các vị trí thư mục thanh toán.

Trước tiên, bạn cần phải xác định thư mục thanh toán của mình thành một thứ có thể được biết đến cả hai bản dựng. Trong cấu hình xây dựng của bạn, hãy duyệt đến Cài đặt kiểm soát phiên bản -> Cài đặt thanh toán. Thay đổi cài đặt Thư mục Checkout thành Custom Path. Sau đó, bạn sẽ được nhắc cung cấp thư mục mà bạn muốn kiểm tra nguồn của mình. Đây có thể là bất cứ nơi nào bạn muốn **, miễn là TeamCity có quyền ghi vào đó.

Tiếp theo, bạn cần phải sửa đổi Quy tắc thanh toán (cũng trên Cài đặt kiểm soát phiên bản) cho từng dự án sao cho chúng đang nhắm mục tiêu thư mục có liên quan đến thư mục gốc của Thư mục Checkout. Bạn có thể thực hiện việc này bằng cách đặt quy tắc thành +:%some.repo.path%=>/%some.sub.folder%. Bạn có thể kê toa bất kỳ thư mục con nào bạn muốn ở đó. Chúng tôi chỉ kiểm tra mọi thứ vào thư mục gốc của Thư mục Checkout (=>/).

Nếu cả hai dự án đều tham chiếu cùng một Thư mục Checkout, thì kết hợp cài đặt này sẽ cung cấp cho bạn khả năng kiểm soát và tính linh hoạt mà bạn đang tìm kiếm.

** Đối với Danh mục Checkout của chúng tôi, chúng tôi sử dụng giá trị được tham số %teamcity.agent.work.dir%\%system.teamcity.projectName%\%branch%. Hai thông số đầu tiên là tham số hệ thống TeamCity và thông số cuối cùng được xác định bởi chúng tôi. Trên hệ thống của chúng tôi, giải pháp này được giải quyết thành G: \ BuildAgent \ work \ $ PROJECT \ $ BRANCH, giúp mọi thứ gọn gàng và dễ dự đoán.

1

Dường như cài đặt VCS (bộ rễ VCS và quy tắc thanh toán) khác nhau đối với các cấu hình xây dựng này và đó là lý do tại sao TeamCity sử dụng thư mục thanh toán khác nhau. Trong hoàn cảnh như vậy, tôi không khuyên bạn nên buộc máy chủ sử dụng cùng một thư mục.

Giả sử bạn có hai cấu hình A và B và bạn đã định cấu hình TeamCity để xây dựng chúng trong cùng một thư mục, nhưng A và B có các cài đặt VCS khác nhau. Sau đó, những gì nên được thực hiện trong quá trình thanh toán?

Ví dụ, khi xây dựng A kết thúc trên đại lý và xây dựng B bắt đầu trên cùng một tác nhân, TeamCity sẽ phải xóa tất cả các nguồn trong thư mục thanh toán và tìm nạp lại chúng. Cùng một câu chuyện xảy ra khi xây dựng B bắt đầu sau khi xây dựng A. Kết quả là các lần kiểm tra sạch sẽ sẽ làm chậm tốc độ.

Với thư mục thanh toán tự động tạo, máy chủ có thể tối ưu hóa hiệu suất thanh toán và mức sử dụng đĩa trên đại lý. Phương pháp tiếp cận với thư mục thanh toán tùy chỉnh không tối ưu và không thể mở rộng. Tránh nó nếu có thể.

Xem thêm: http://confluence.jetbrains.com/display/TCD8/Build+Checkout+Directory http://confluence.jetbrains.com/display/TCD8/Clean+Checkout

Các vấn đề liên quan