代理未在 TFS 2017 中选取新的生成请求



我在一个代理池下的两台服务器中配置了 10 个构建代理。每当使用前四个代理时,请求的生成都在前四个代理的队列中,但还有另外六个代理可用,并且生成不会排队到这些代理。

已经快六个月了,代理 10 甚至一次都没有处理过构建。几乎不使用 5 到 10 的其他药物。为什么会有这种现象?我们如何通过公平地使用所有代理来处理这个问题?

TFS 将在运行生成时自动选择池中的可用生成代理。这更像是一个有条件的随机选择。它目前无法确定生成代理的优先级。还有一个相关的用户声音如下:

TFS 2015 构建 vNext 代理优先级

解决方法是,可以在 vNext 生成中指定生成代理。

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

似乎构建首先在"最旧"的代理上排队。因此,如果代理 10 是您创建的最后一个代理,则仅当前 9 个代理正在使用时才会使用它,假设它们都具有相同的功能。

它似乎不是随机选择的代理,而是基于代理的创建顺序。具有讽刺意味的是,这意味着如果您添加新的强大构建服务器,这些代理将位于队列的底部。

PatrickLu-MSFT的答案中的用户语音建议是允许代理被优先考虑。

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

我们也遇到了这个问题。我们有六个构建服务器,每个服务器有三个代理,并且构建分布不公平。我也不想为每个定义分配一个代理,但我想我们将不得不对此感到困惑。

相关内容

  • 没有找到相关文章

最新更新