14

使用由现场 TFS2015 提供的 PowerShell 脚本配置构建代理时,该脚本会出错,因为它无法在服务器上找到代理池。

但是,代理池“默认”肯定存在。在另一台服务器上,相同的脚本按预期工作,并且构建运行。请参阅下面的脚本输出。

我试图遵循:

  • 在服务器上创建一个新的代理池,并在脚本中引用它。同样的问题“找不到代理池”。
  • 安装了具有最少功能的 Visual Studio 2015。
  • 运行脚本的用户是“构建管理员”和“构建服务帐户”安全组的成员。

是什么导致脚本在代理池验证中失败?

PS C:\Windows\system32> E:\Build\agentConfigureAgent.ps1
输入此代理的名称(默认为 Agent-SRV001):BUILD002
输入 Team Foundation Server 的 URL(默认为:http://[ip- address]:8080/tfs
Configure this agent against which agent pool?(默认池名称为'default'):
输入此代理的工作文件夹路径(默认为'E:\Build\agent_work'):E:\Build \Work
您是否要将代理安装为 Windows 服务 (Y/N)(默认为 Y): n
您是否要取消配置任何现有代理 (Y/N)(默认为 N;代理将被更新):
配置代理
解锁文件 调用代理配置,不带 /RunningAsService
调用代理配置,不带 /Force
找不到名称为默认值的代理池
警告:配置代理失败,但您可以通过使用 /Force 进行配置来解决此问题。
您是否想再次尝试使用参数 -Force (Y/N) 进行代理配置:y
在没有 /RunningAsService的情况下
调用代理配置 使用 /Force 调用代理配置
无法找到名称为默认
E:\Build\agent\ConfigureAgent的代理池.ps1:配置代理失败。在 line:1 char:1
+ E:\Build\agent\ConfigureAgent.ps1 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,ConfigureAgent.ps1

4

3 回答 3

13

运行构建过程脚本的用户帐户需要是Agent Pool Administrator Accounts.

脚本中的错误消息具有误导性。

于 2015-06-16T12:58:57.313 回答
5

要解决此错误,我必须将运行 TFS 构建代理的 Windows 用户添加到“高级”访问级别。这可以在根 TFS 管理服务器(右上角的齿轮)> 访问级别 UI 下完成。( http://your-tfs-server-here:8080/tfs/_admin/_licenses ) 我对服务器的默认访问级别设置为利益相关者。

于 2016-02-18T17:46:19.107 回答
4

@RoeIF 的答案对我有用,但我在找到添加帐户所需的页面时遇到了一些麻烦。这是一个屏幕抓取以提供帮助:

在此处输入图像描述

于 2017-01-24T08:52:04.743 回答