4

我们繁忙的企业服务器在 30 个代理上运行 550 个活动构建配置。我们需要一种方法来防止某些构建在其他构建运行时运行。我已经了解了人工制品的依赖关系,但这并不能解决我们的问题,因为构建不相互依赖,它们只是共享一些资源,如服务器端口号和数据库连接。一些构建配置在同时运行时会相互冲突,我们需要通过一种方法在多个其他构建中的一个运行时将构建排队(而不是运行它)来防止这种情况发生。

我们已经使用了一些愚蠢的技巧,比如将构建限制为特定的代理等......我正在考虑添加一个第一个构建步骤来检查数据库表中的标志或其他东西,但这会在我们真正需要的时候添加很多失败的构建是正确的构建队列。

我错过了什么吗?TeamCity 中是否已经存在此功能?

4

2 回答 2

4

看起来您需要的东西正在以TeamCity 8 Shared Resources的形式出现。您已经可以在此处访问 EAP 。

于 2013-06-02T19:09:15.520 回答
0

我非常尊重 550 个配置和 30 个代理。

我想你已经找到了解决方案:

  1. 每个代理拥有一个环境
  2. 为特定代理分配配置

我可以想象它的工作量。但我认为它更干净,并且比同时运行多个配置的限制工作得更快。

于 2012-09-01T06:44:23.147 回答