【问题标题】:Agents not picking new build requests in TFS 2017代理未在 TFS 2017 中选择新的构建请求
【发布时间】:2017-07-31 12:49:58
【问题描述】:

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

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

【问题讨论】:

    标签: tfs build-agent


    【解决方案1】:

    运行构建时,TFS 将自动选择池中可用的构建代理。它更像是一个有条件的随机选择。它目前无法优先考虑构建代理。还有一个相关的用户声音如下:

    TFS 2015 build vNext agent prioritization

    作为一种解决方法,您可以在 vNext 构建中指定构建代理。

    您可以向该特定构建代理添加用户能力。然后在构建定义中,您只需将该功能作为需求放入(General 选项卡)。

    【讨论】:

    • 我有多个团队在工作,因此代理不能被绑定到任何特定的构建。是的,这种解决方法可能会有所帮助
    【解决方案2】:

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

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

    PatrickLu-MSFT's answer中的用户语音建议是允许代理优先。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-20
      • 2017-12-25
      • 1970-01-01
      • 2018-09-14
      • 2017-08-14
      • 2017-04-30
      • 2012-03-10
      • 2017-04-07
      相关资源
      最近更新 更多