【发布时间】:2014-02-02 21:15:30
【问题描述】:
我在 Repo 根目录中有一个文件,当任何用户提交该文件时都会触发 TC 构建。 (任何其他文件的提交都不会触发构建)。
当触发构建时,构建代理(我们只有 1 个)的构建过程的一部分是编辑此文件并提交它。我不希望这个提交触发另一个构建,否则我最终会陷入无限构建循环。 (实际上,构建规则下方的辅助自定义规则可以防止此循环,但我仍然不希望触发构建。)
我已经尝试了几乎所有我能想到的组合来使这对规则共存,但构建总是在构建代理提交时触发。
所以目标是提交到“BuildTrigger.txt”(任何人都希望 SVN 用户“代理”)来触发构建...
我尝试的最后一次尝试只是忽略代理对任何文件的提交:-
+:BuildTrigger.txt
-:user=AGENT;root=SVNROOT:**
虽然我也试过:-
+:BuildTrigger.txt
-:user=AGENT;root=SVNROOT:/BuildTrigger.txt
+:BuildTrigger.txt
-:user=AGENT;root=SVNROOT:BuildTrigger.txt
+:BuildTrigger.txt
-:user=AGENT
但每当 AGENT 提交 BuildTrigger.txt 时,一个构建就会进入队列。
非常感谢任何帮助。
谢谢
【问题讨论】:
-
首先,构建肯定会在代理提交时触发,还是只是显示为待处理的更改。因为即使规则有效,它仍会显示为待处理的更改。
-
是的,由于代理提交了 BuilgTrigger.txt 文件,第二次构建被排队,然后在原始构建完成后开始第二次构建。我确实在 TC 论坛 devnet.jetbrains.com/message/5215658#5215658 上找到了这篇文章,它把我带到了 http://youtrack.jetbrains.com/issue/TW-3363,它建议使用触发规则:- -:** +:actionFile.txt -:user=teamcity:actionFile.txt 同样的问题,2构建。为了“修复”它,我必须为应该触发构建的每个用户添加特定的包含规则。 IE。 +:user=user1:BuildTrigger.txt +:user=user2:BuildTrigger.txt
-
第二个网址的错字,应该是jetbrains.net/tracker/issue/TW-3363
标签: svn build triggers teamcity