【问题标题】:Is a build agent required for each project in a collection?集合中的每个项目都需要构建代理吗?
【发布时间】:2019-03-02 14:00:57
【问题描述】:

我有一个 TFS 2018 本地服务器和一个单独的构建服务器。构建服务器在集合的“池默认代理”区域中的 TFS 服务器上具有“在线”显示的代理。但是,如果我转到该集合中的一个项目,我看不到该项目“池的代理”部分中注册的代理。

每个项目都需要代理吗?如果是这样,如何在构建服务器上分离?是否有针对我的问题的任何文档?我还没有找到任何专门解决这个问题的方法。

【问题讨论】:

  • 我想添加@Daniel Mann 下面所说的内容:您需要进行一些配置以将项目代理队列添加到代理所连接的代理池中。然后为其设置正确的权限。 (这可能是它不可见的罪魁祸首。我过去遇到过这个问题。单击代理,转到角色,然后是代理队列用户。也许添加一个组或用户。)这可能需要你一些反复试验,但您最终会像图表所示那样工作。
  • 我认为您的评估是正确的,但我无法找到您列出的测试路径。你能展示一些图片吗?我的构建服务器的服务帐户在集合级别分配给默认池中的代理。我在原始声明中添加了图片。
  • 请在下方查看我的回答,如果对解决您的问题有帮助,请将其标记为答案。

标签: tfs tfs-2017


【解决方案1】:

我有一个旧版本,TFS 2015 On-Premise,所以导航路径不同。但是在 VSTS/Azure Devops 上我遇到了同样的问题,这是我的解决方案:转到需要代理池的项目,单击“新代理”,选择“基于现有组织代理池”,选择代理池,然后那么你就完成了。现在它应该对定义可见。

【讨论】:

  • 我在本地 TFS 2018 中看不到这些选项。
  • 点击添加新队列时会发生什么?您可以将新队列分配给现有池吗?
  • 我收到权限错误。我针对该问题提出了一个单独的问题。
【解决方案2】:

有两个实体:

  • 代理池存在于服务器级别。
  • 代理 queues 存在于项目级别,并引用代理 pool。

因此,不,您不需要为每个项目配备单独的代理。但是,您确实需要一个单独的代理队列,指向所有其他项目中使用的代理池。

参考:https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/pools-queues?view=vsts

【讨论】:

    猜你喜欢
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-13
    • 2012-09-02
    • 2021-07-26
    • 2017-10-17
    相关资源
    最近更新 更多