2013-04-09 33 views
5

Chúng tôi có hai cấu hình riêng biệt được cấu hình trong TeamCity chống lại TFS với các trình kích hoạt sau (được liệt kê bên dưới).Cả hai thành viên nhóm độc quyền xây dựng trình kích hoạt Cả hai bắn

Build 1: 
+:Folder1/Folder2/Folder3/FilePrefix\*\* 
+:Source/\*\* 
+:Tests/\*\* 

Build 2: 
+:Folder1/Folder2/\*\* 
-:Folder1/Folder2/Folder3/FilePrefix\*\* 
-:Tests/\*\* 
-:Source/\*\* 

Nếu chúng ta thực hiện thay đổi vào một tập tin trong Folder1/Folder2/Folder3/FilePrefix chúng ta thấy rằng cả hai xây dựng cò. The documentation states:

Đối với mỗi tệp thay đổi quy tắc cụ thể nhất được tìm thấy (quy tắc khớp với đường dẫn tệp dài nhất). Bản dựng được kích hoạt nếu có ít nhất ít nhất một tệp có quy tắc "bao gồm" phù hợp hoặc tệp không có quy tắc đối sánh .

Điều này không có nghĩa là chỉ có quy tắc cụ thể nhất được ưu tiên? Tại sao Bản dựng 2 không bao gồm tệp này vì -:Folder1/Folder2/Folder3/FilePrefix**? Có vẻ như +:Folder1/Folder2/** đang ghi đè quy tắc bỏ qua.

+0

Chúng tôi đã kết thúc làm việc xung quanh vấn đề này và không bao giờ tìm thấy câu trả lời đúng. – jakejgordon

Trả lời

1

Tôi đã gặp phải điều này vài tuần trước và thấy rằng chúng tôi phải chỉ định ký tự đại diện cuối cùng là '.' thay vì '*' cho các câu lệnh phủ định.

Vì vậy, quy tắc kích hoạt của bạn cho build2 sẽ kết thúc tìm kiếm như:

+:Folder1/Folder2/\*\. 
-:Folder1/Folder2/Folder3/FilePrefix\*\. 
-:Tests/\*\. 
-:Source/\*\.