互斥的团队城市建设触发两个射击

jak*_*don 5 version-control build-automation teamcity tfs build

我们在TeamCity中针对TFS配置了两个单独的构建,具有以下触发器(如下所示).

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

Build 2:
+:Folder1/Folder2/\*\*
-:Folder1/Folder2/Folder3/FilePrefix\*\*
-:Tests/\*\*
-:Source/\*\*
Run Code Online (Sandbox Code Playgroud)

如果我们对文件进行更改,Folder1/Folder2/Folder3/FilePrefix我们发现BOTH构建了触发器.文件说明:

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

这是否意味着只有最具体的规则优先?为什么Build 2不包含此文件,因为-:Folder1/Folder2/Folder3/FilePrefix**?看来这+:Folder1/Folder2/**就是覆盖忽略规则.

小智 2

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

因此 build2 的触发规则最终将如下所示:

+:Folder1/Folder2/\*\.
-:Folder1/Folder2/Folder3/FilePrefix\*\.
-:Tests/\*\.
-:Source/\*\.
Run Code Online (Sandbox Code Playgroud)