2

当我尝试从管理控制台启动构建服务时,我收到

TFSBuildServiceHost 无法正确启动

和事件日志报告

无法启动服务。Microsoft.TeamFoundation.TeamFoundationServerUnauthorizedException:TF30063:您无权访问 http://localhost:8080/tfs/defaultcollection。

我的构建配置设置如下

连接到团队项目集合(传出):http://localhost:8080/tfs/defaultcollection 本地构建服务端点(传入):http://localhost:9191/Build/v3.0/Services

运行构建服务为:Windows 服务

凭据:NT AUTHORITY\NetworkService

我有一个默认的构建控制器和 1 个构建代理,带有工作目录 $(SystemDrive)\Builds$(BuildAgentId)$(BuildDefinitionPath)。两者都启用

我的安全设置如下

应用程序层 > 服务帐户:NT AUTHORITY\LOCAL SERVICE

团队项目集合 > DefaultCollection > 组成员 > [DefaultCollection]\Project 集合构建服务帐户:包含 NT AUTHORITY\NETWORK SERVICE、NT AUTHORITY\SYSTEM

IIS > 站点 > Team Foundation Server > tfs:包含 NT AUTHORITY\NETWORK SERVICE(完全控制)

C\Builds\ :包含 NT AUTHORITY\NETWORK SERVICE(完全控制)

C:\Program Files\Microsoft Team Foundation Server 2010\Application Tier:包含 NT AUTHORITY\NETWORK SERVICE(完全控制)

所以我不确定我还缺少什么?

4

1 回答 1

1

我设法通过重新安装 TFS 解决了这个问题(不理想)。

我认为,解决此问题的简短答案是按照更改构建服务帐户的步骤进行操作。

http://msdn.microsoft.com/en-us/library/bb909750(v=vs.90).aspx

看来问题是我在安装的构建服务配置阶段没有给予足够的关注,特别是运行状况检查步骤,它警告说必须在其下执行构建服务的指定服务帐户添加到 Windows 凭据管理器。警告进一步指出,如果我选择使用当前交互式用户(即我的帐户,而不是我专门为构建服务创建的帐户),安装可以为我执行此操作,否则我将不得不手动执行此操作。由于我已经为此浪费了两天时间,所以我选择使用我的帐户并让安装程序执行必要的安全设置,幸运的是!因为看起来,将帐户添加到 Windows 凭据管理器并不是您唯一需要做的事情,也不是任何其他看似合乎逻辑的事情,例如将帐户添加到团队项目或项目集合中。我随后尝试将帐户手动更改为专用的 TFS 用户帐户,方法是将其分配给构建服务,将其添加到 Windows 凭据管理器和团队项目集合,但没有运气。我认为问题在于还必须为 TFS 公开的 WCF 端点指定帐户以允许构建服务连接到它,我认为这可以通过链接中提到的 wcfhttpconfig.exe 来完成。

于 2011-03-10T12:23:45.650 回答