2017-07-31 41 views
0

我在一个代理池下的两个服务器中配置了10个构建代理。无论何时使用前四个代理,所请求的构建都在前四个代理的队列中,但还有另外六个代理可用,并且构建不会排队等待这些代理。已经接近6个月Agent-10甚至没有处理过构建5到10的其他代理很难使用。为什么是这种现象?我们怎样才能公平地利用所有的代理?TFS 2017:代理不选择新的构建请求

回答

0

运行构建时,TFS将自动选择池中的可用构建代理。这更像是一个有条件的随机选择。目前尚无法优先构建代理。同时也出现了如下相关UserVoice的:

TFS 2015年构建vNext剂优先

https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/9213534-tfs-2015-build-vnext-agent-prioritization

作为一种变通方法,你可以指定vNext生成代理建立。

您可以将用户能力添加到特定的构建代理,然后在构建定义中,您只需将该功能作为需求(常规选项卡)即可。

+0

我有多个团队正在开展工作,因此代理不能绑定到任何特定的版本。是的,这种解决方法可能会有帮助 – samdinesh

0

看起来这个版本首先在'最古老'的代理上排队。因此,如果代理10是您创建的最后一个代理,则只有在前9个代理正在使用时才会使用代理10,前提是它们都具有相同的功能。

它似乎不是随机选择的代理,而是基于代理创建的顺序。具有讽刺意味的是,如果你添加一个新的强大的构建服务器,这些代理将位于队列的最底部。 上面的用户语音建议是让代理优先。

此时的解决方法似乎是删除所有(或某些)代理,并按您希望它们使用的顺序重新创建它们。这仍然意味着最后使用的代理将少用,但至少可以影响代理的分布。

我们也遇到了这个问题,我们有6个构建服务器,每个构建器有3个代理,构建不公平。我也不想为每个定义分配一个代理,但我想我们将不得不对它进行拼图。

希望有所帮助。