TeamCity 构建链配置

Posted

技术标签:

【中文标题】TeamCity 构建链配置【英文标题】:TeamCity Build Chain configuration 【发布时间】:2016-10-29 19:45:11 【问题描述】:

我有一个包含 4 个配置的 TeamCity 项目,构建链需要如下所示:

Build,可以手动触发并执行 .bat 脚本,编译一堆工件供 Deploy 和 TEST 使用。

部署和测试 - 区域 1Build 配置具有工件依赖性。

部署和测试 - 区域 2Build 配置有工件依赖关系。

由于我希望 Region1 和 Region2 在构建成功后立即并行运行,因此我向 Deploy and TEST – Region 1Deploy and TEST – Region 2 添加了 Snapshot 依赖项 关于 构建 配置

现在我需要配置 Test Status 配置来报告先前配置的失败/成功(部署和测试配置)。

如何做到这一点?另外,我是否需要针对我想要实现的用例在任何地方调整我的设置?

【问题讨论】:

【参考方案1】:

设置看起来正确。要在 Test Status 配置中获取构建链状态,您需要在 Deploy and TEST – Region 1Deploy and TEST – Region 2 上添加快照依赖项强>配置。如果链中的任何构建失败,Test Status 构建也将失败,状态为:“快照依赖失败:​.​.​.​”

如果您添加这些快照依赖项并通过 UI 运行 Test Status,整个构建链将被添加到队列中。您还可以在 Test Status 构建配置中配置一个 VCS 触发器,使用选项“Trigger on changes in snapshot dependencies”。启用此选项后,即使在依赖项而不是生成的构建中检测到更改,也会触发整个构建链。

这个article 会很有帮助。

【讨论】:

行得通!但由于某些奇怪的原因,部署和测试 - 区域 1 和部署和测试 - 区域 2 即使在添加快照依赖项之后也不会并行运行。知道为什么吗? 您是否已将两个构建(部署和测试 - 区域 1 以及部署和测试 - 区域 2)添加到构建队列中?是否有多个空闲代理可以运行这些构建? 当我运行测试状态配置时,我有 4 个配置按此顺序添加到构建队列中 1)构建 2)部署和测试 - 区域 1 3)部署和测试 - 区域 2 4)测试状态.这些构建具有在一个特定代理上运行的明确要求。 团队城市cannot run several builds on one agent at the same time。为什么需要在一个特定代理上运行所有构建? 好的。我不知道。那么在同一台机器上添加另一个代理并删除显式要求有帮助吗?

以上是关于TeamCity 构建链配置的主要内容,如果未能解决你的问题,请参考以下文章

TeamCity 构建链触发

将Jenkins布尔管道迁移到Teamcity构建链的问题

Teamcity 自动构建配置

如何在 Teamcity 中归档构建配置?

如何从 TeamCity 构建配置中设置 PowerShell 开关参数

Teamcity 在不同构建之间传递参数(不同构建配置)