Teamcity快照依赖:如何防止运行已经传递的构建

时间:2014-08-19 21:14:13

标签: teamcity

这是一个场景:我有一个TeamCity“master”构建,它聚合了其他11个构建的结果。 我正在使用快照依赖项。 这在正常情况下工作正常。但是,如果任何依赖子构建失败并且再次触发主构建,则会触发所有11个依赖构建。我希望仅触发失败构建而不是全部。 有没有办法实现这个?

2 个答案:

答案 0 :(得分:0)

  1. 通常情况下,如果11个相关字段中的任何一个的源代码没有变化,它们将排队,但只会默默地成功

  2. 如果您只需要以前版本中的人工制品,您可以尝试设置artefacts依赖项而不是快照依赖项。这样,如果中间目标失败,您可以重新运行中间目标,并继续执行链的其余部分。顺便说一下,如果你要设置artefact依赖项,你还必须在目标上添加“完成运行触发器”

  3. 此外,在设置快照依赖项时,有一个选项“如果有合适的,请不要运行新的”。请启用它以查看它是否解决了您的问题

答案 1 :(得分:0)

在TC 8中,某些设置会干扰构建重用。来自文档:

  

VCS根目录中的某些设置可以有效地禁用构建重用。   这些设置是:

     

Subversion:Checkout,但忽略更改模式

     

CVS:按标签模式结帐

     

Perforce:按标签设置为客户端而不是客户端映射

     

Starteam:结帐模式选项设置为查看标签或促销日期

(来源:https://confluence.jetbrains.com/display/TCD8/Snapshot+Dependencies