【发布时间】:2014-08-19 21:14:13
【问题描述】:
场景如下:我有一个 TeamCity“主”构建,它汇总了其他 11 个构建的结果。 我正在使用快照依赖项。 这在正常情况下工作正常。但如果任何依赖子构建失败并且再次触发主构建,那么所有 11 个依赖构建都会被触发。我只想触发失败的构建而不是全部。 有什么方法可以实现吗?
【问题讨论】:
标签: teamcity
场景如下:我有一个 TeamCity“主”构建,它汇总了其他 11 个构建的结果。 我正在使用快照依赖项。 这在正常情况下工作正常。但如果任何依赖子构建失败并且再次触发主构建,那么所有 11 个依赖构建都会被触发。我只想触发失败的构建而不是全部。 有什么方法可以实现吗?
【问题讨论】:
标签: teamcity
在 TC 8 中,某些设置会干扰构建重用。来自文档:
VCS 根目录中的某些设置可以有效地禁用构建重用。 这些设置是:
Subversion:结帐,但忽略更改模式
CVS:按标签方式结账
Perforce:按设置为客户端而不是客户端映射的标签结帐
Starteam:结帐模式选项设置为查看标签或促销日期
(来源:https://confluence.jetbrains.com/display/TCD8/Snapshot+Dependencies)
【讨论】:
通常情况下,如果 11 个依赖字段中的任何一个的源代码没有更改,它们将被排队,但会默默地成功
如果您只需要以前构建的工件,您可以尝试设置工件依赖项而不是快照依赖项。这样,如果中间目标失败,您可以重新运行它,并且仍然可以继续运行链的其余部分。顺便说一句,如果您要设置工件依赖项,您还必须在目标上添加“完成运行触发器”
另外,在设置快照依赖项时,有一个选项“如果有合适的就不要运行新的”。请启用它,看看它是否能解决您的问题
【讨论】: