在另一个构建正在运行时,队列而不是运行TeamCity构建

时间:2012-08-30 10:50:48

标签: continuous-integration teamcity teamcity-7.1

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

我们已经使用了愚蠢的技巧,比如将构建限制为特定的代理等等......我正在考虑添加第一个构建步骤来检查db表中的标志或者其他什么但是这会增加许多失败的构建我们真正需要的是正确的构建排队。

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

2 个答案:

答案 0 :(得分:4)

看起来你需要的是TeamCity 8 Shared Resources形式。您已经可以访问EAP here

答案 1 :(得分:0)

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

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

  1. 每个代理商拥有一个环境
  2. 为特定座席分配配置
  3. 我可以想象它有多少工作。但我认为它更清洁,并且比限制同时运行多个配置的速度要快得多。