如何在最短队列的TFS构建服务器(构建控制器)上构建队列?如何在构建控制器上配置负载平衡?

时间:2011-11-28 14:22:55

标签: tfs continuous-integration tfs2010 tfsbuild

我们有两个可用于我们应用程序的TFS构建服务器(构建控制器)。构建在构建定义中按照配置触发。每个构建都通过“构建默认值”页面配置到特定的构建控制器。

假设我们有一个门禁的值机版本。建设时间为30分钟,每小时3次办理登机手续。通常,这些3门控签到版本在构建控制器1上触发,其他构建控制器2处于空闲状态。

如果正在使用build controller1,如何在构建控制器2上触发gated check-in构建?

是否可以使用最短的构建队列在构建服务器上对构建进行排队? 如何在构建控制器上配置负载平衡?

编辑: 我找到了TFS2008 here的可能解决方案。我正在寻找适用于TFS2010的解决方案

1 个答案:

答案 0 :(得分:6)

我不认为这是可能的。控制器可以平衡构建,其中代理可用并且与构建的代理模式匹配(如构建定义中所定义)。除非你有严重的构建负载,否则我会坚持每个集合使用一个控制器和更多代理。 与and agent(编译,测试和部署)相比,控制器的工作量很少。

TFS Topology

对于你的情况,我会尝试类似的事情:

<强>控制器

  • 门控代理1(在\\ sv-BuildAgent1上)
  • 门控代理2(在\\ sv-BuildAgent2上)
  • QA代理...(在\\ sv-BuildAgent3上)
  • 其他代理人......(在\\任何地方)
  • ...等...

现在,每个Gated Build的定义都将Build Agent设置为“门控代理* ”(它位于 3中的 Process 标签下。高级< / strong> - &gt; 代理商设置 - &gt; 名称过滤器。)。现在,这将选择以“Gated Agent”开头的任何代理。您可以根据需要轻松地将此扩展到尽可能多的代理。

修改

您还可以在构建代理上添加标记以获得类似的结果。这可能更容易配置。您可以在构建代理的属性和配置定义中定义标记,以便在与名称过滤器相同的部分中使用它们(上图)。