【发布时间】:2015-08-30 17:15:21
【问题描述】:
使用由现场 TFS2015 提供的 PowerShell 脚本配置构建代理时,脚本会出错,因为它在服务器上找不到代理池。
但是,“默认”代理池肯定存在。在另一台服务器上,相同的脚本按预期工作,并且构建运行。请参阅下面的脚本输出。
我已尝试关注:
- 在服务器上创建一个新的代理池,并在脚本中引用它。同样的问题“未找到代理池”。
- 安装的 Visual Studio 2015 具有最少的功能。
- 运行脚本的用户是“Build Administrators”和“Build Service Accounts”安全组的成员。
是什么导致脚本在代理池验证中失败?
PS C:\Windows\system32> E:\Build\agentConfigureAgent.ps1
输入此代理的名称(默认为 Agent-SRV001):BUILD002
输入 Team Foundation Server 的 URL(默认为:http://[ip-address]:8080/tfs
针对哪个代理池配置此代理? (默认池名称为“默认”):
输入此代理的工作文件夹路径(默认为“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
【问题讨论】:
-
用户是代理池服务帐户组的成员吗?
-
不,不是!我将用户添加到“服务帐户”组,但这导致了另一个错误:“用户需要管理池默认权限...”将用户添加到“池管理员”组确实解决了问题,但它没有感觉这是正确的方法。
-
奇怪...我会假设让我的服务帐户成为 Project Collection Build Service Accounts 的成员就足够了。
标签: tfs build-server tfs-2015