5

我们在 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 构建触发器。该文件指出

对于更改中的每个文件,都会找到最具体的规则(匹配最长文件路径的规则)。如果至少有一个文件具有匹配的“包含”规则或一个文件没有匹配规则,则会触发构建。

这是否意味着只有最具体的规则优先?为什么 Build 2 不排除这个文件,因为-:Folder1/Folder2/Folder3/FilePrefix**? 似乎+:Folder1/Folder2/**正在覆盖忽略规则。

4

1 回答 1

2

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

所以你的 build2 触发规则最终看起来像:

+:Folder1/Folder2/\*\.
-:Folder1/Folder2/Folder3/FilePrefix\*\.
-:Tests/\*\.
-:Source/\*\.
于 2013-08-20T14:33:56.530 回答