【发布时间】:2014-01-14 10:02:18
【问题描述】:
我们有两个相互不信任的 Windows 域。在主域上,我们有一个简单的 TFS 服务器 2013 设置,在开发域中,我们想设置一个额外的构建代理。此构建代理将添加到 TFS 机器上的现有构建控制器(TFS 机器已经包含一个构建控制器和代理)。
到目前为止,我已将相同的本地用户帐户添加到 TFS 和开发机器。换句话说,两个虚拟机上都有一个名称和密码相同的影子帐户。我正在该用户下运行 TFS 构建服务安装程序,一切顺利,直到进入配置步骤。
此步骤失败,并在日志中显示“TF400106:无法注册构建服务”和以下堆栈跟踪:
Exception Message: User account DEV\machinename$ not found (type Exception)
Exception Stack Trace: at Microsoft.TeamFoundation.Build.Config.BuildServiceHostUtilities.CheckServiceAccountMembership(TfsTeamProjectCollection tfsCollection, String serviceAccount)
at Microsoft.TeamFoundation.Build.Config.BuildServiceHostUtilities.UpdateCollectionPermissions(TfsTeamProjectCollection tfs, String userName)
at Microsoft.TeamFoundation.Build.Config.BuildServiceHostUtilities.UpdateAuthenticatingAccount(TfsTeamProjectCollection tfsCollection, String fromUser, Boolean canTranslateFromUser, String toUser, Boolean canTranslateToUser)
at Microsoft.TeamFoundation.Build.Config.BuildServiceHostUtilities.Register(IBuildServiceHost serviceHost, String serviceAccount, String serviceAccountPassword, X509Certificate2 serverCertificate, String authenticatingUserName, Boolean canTranslateAuthenticatingUserName)
at Microsoft.TeamFoundation.Admin.TeamBuildInstaller.RegisterWithApplicationServer(IAuthenticatedCollectionProvider authenticatedConnectionProvider, IBuildServiceHost host, String collectionUri, Int32 port, AccountInfo serviceAccount, AccountInfo authenticatingAccount, Boolean useHttps, BuildControllerOptions controllerOptions, List`1 agentListOptions, Boolean cleanOldResources, String certificateThumbprint, Boolean requireClientCertificates, ITFLogger logger)
at Microsoft.TeamFoundation.Admin.ConfigureRegisterBuild.Run(ActivityContext context)
堆栈跟踪是什么意思?这种设置有没有可能起作用? 我确实在网上看到它没有得到很好的支持,但也有一些成功的故事。
【问题讨论】:
-
机器在“Dev”-Domain中吗?
-
是的,“Dev”域是我们的开发域。堆栈跟踪来自“Dev”域中的一台机器。
-
并且存在这个用户帐户?您可以在配置向导中指定用户帐户,也可以稍后在 Team Foundation Server 管理控制台的 BuildConfiguration 中指定用户帐户
-
在配置向导中指定影子用户帐户不会改变结果。我正在以影子用户身份运行 TFS 管理控制台。
-
ist 是否适用于非影子用户?