【发布时间】:2013-03-31 20:31:24
【问题描述】:
我们在 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:
对于更改中的每个文件,找到最具体的规则(规则 匹配最长的文件路径)。如果有 at 则触发构建 至少一个文件具有匹配的“包含”规则或一个文件没有 匹配规则。
这不是意味着只有最具体的规则优先吗?为什么 Build 2 由于-:Folder1/Folder2/Folder3/FilePrefix** 而没有排除这个文件? +:Folder1/Folder2/** 似乎覆盖了忽略规则。
【问题讨论】:
-
我们最终解决了这个问题,但从未找到真正的答案。
-
已经有一段时间了,我遇到了类似的问题。我在 TeamCity (confluence.jetbrains.com/display/TCD9/Shared+Resources) 中使用所谓的“共享资源”解决了这个问题,并定义了一个配额,两个构建然后在构建开始时锁定(使用构建功能 confluence.jetbrains.com/display/TCD9/Adding+Build+Features)。我们确保不会同时运行两个构建。
标签: version-control build tfs teamcity build-automation