2014-09-30 82 views
0

我们有一个由git触发的teamcity构建,它执行git集成,有时会检入当前分支(它正在从另一个源更新分支)。这显然会在同一分支上创建另一个签入,并使触发器看到它。Teamcity Stop成功构建

理想情况下,我会阻止触发器看到第二次检查,但我似乎无法找到一种方法 - 因为我们正在检查的是来自其他来源的更改集合。我知道最近的更改来自构建系统用户,但无法根据最近更改的结果查看排除方式。

所以我在构建脚本中构建了一些东西,正确地确定我们不应该继续构建这个构建。我目前只是失败 - 但这实际上不是一个错误的情况。我想停止当前的构建,而不采取任何进一步的步骤,但我希望结果是绿色的,一切都会好的。这可能吗?我尝试了## teamcity设置状态,但这并不奏效。

回答

1

您可以使用排除规则设置VCS触发器规则(5构建触发器),该排除规则在构建系统用户提交到存储库时不会触发。排除规则看起来像这样:

-:user=TeamCityUser 

希望这有助于!

+0

谢谢 - 但我们首先尝试 - 不幸的是,构建从另一个存储库中提取 - 因此,当合并在团队城市用户,还有一些其他的变化不是 - 他们似乎在击败触发器。 – 2014-10-02 23:04:09

0

我实际上“解决了”这个问题,只有一个大脑死亡但容易破解 - 我只是设置了一个变量“skip”,然后在每个后续步骤的开始处检查它。丑陋的,但目前 - 它的作品。

0

您可以通过提交消息筛选出触发器。从构建代理签入时,请始终使用预定义的特定消息签入。然后,您可以更改生成触发器,当特定消息是提交的一部分时不触发

+0

感谢,但同样的问题 - 我们正在做一个拉,所以我们得到一大包的变化 - 与不同的消息,用户等。_most recent_变化是从系统用户,但在触发级别,我不似乎能够排除这些其他变化,如果最近他们有特别的评论或用户。 – 2014-10-03 06:40:35