我们在TeamCity中针对TFS配置了两个单独的构建,其中包含以下触发器(在下面列出)。

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

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

如果我们对Folder1/Folder2/Folder3/FilePrefix中的文件进行更改,则会发现BOTH都将生成触发器。 The documentation states:



这不是说只有最具体的规则才有优先权吗?为什么Build 2不能因为-:Folder1/Folder2/Folder3/FilePrefix**而排除该文件?似乎+:Folder1/Folder2/**覆盖了忽略规则。

最佳答案

几周前,我遇到了这个问题,发现我们必须将最后的通配符指定为'。而不是否定语句的“*”。

因此,您的build2触发规则将最终看起来像:

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

关于version-control - 互斥的团队城市 build 同时触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15901466/

10-10 16:15