TeamCity构建链配置

5

我有一个TeamCity项目,其中包括4个配置,构建链需要看起来像这样:

Build Chain set up

构建可以手动触发,执行批处理脚本编译一堆工件供部署和测试使用。

部署和测试-区域1依赖构建配置的工件。

部署和测试-区域2依赖构建配置的工件。

由于我希望在构建成功后同时运行区域1和区域2,所以我在部署和测试-区域1部署和测试-区域2上添加了对构建配置的快照依赖。

现在我需要配置测试状态配置,只需报告前一个配置(部署和测试配置)的失败/成功即可。

如何实现这个目标?另外,我需要在任何地方调整我的设置以实现我想要的用例吗?

1个回答

2
设置看起来正确。要在“测试状态”配置中获取构建链状态,您需要在“部署和测试-区域1”和“部署和测试-区域2”配置上添加快照依赖项。如果链中的任何构建失败,“测试状态”构建也将以“快照依赖项失败: ...<构建配置名称>”的状态失败。
如果添加这些快照依赖项并通过UI运行“测试状态”,则整个构建链将添加到队列中。您还可以在“测试状态”构建配置中配置一个VCS触发器,其中包含“在快照依赖项中检测到更改时触发”。启用此选项后,即使在结果构建中未检测到更改,整个构建链也将被触发。
文章可能有所帮助。

可以运行!但出于某种奇怪的原因,在添加了快照依赖关系后,“Deploy and TEST - Region 1”和“Deploy and TEST - Region 2”仍然不能并行运行。你有任何想法吗? - fledgling
您是否将部署和测试-区域1以及部署和测试-区域2的构建都添加到了构建队列中?是否有多个空闲代理可以运行这些构建? - Alina Mishina
当我运行测试状态配置时,我有4个配置按照以下顺序添加到构建队列中:1)构建 2)部署和测试-区域1 3)部署和测试-区域2 4)测试状态。这些构建具有在一个特定代理上运行的明确要求。 - fledgling
1
TeamCity在同一代理上无法同时运行多个构建任务(详见https://youtrack.jetbrains.com/issue/TW-1898)。为什么您需要在一个特定的代理上运行所有构建任务? - Alina Mishina
我也有完全同样的问题,但我的具体问题是如何以最好的方式处理Region 1和Region 2的配置?将其存储为代理参数是否可以? - Kamil
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接