gpt4 book ai didi

tfs - 在单独域中的另一台计算机上安装 TFS 2013 构建代理

转载 作者:行者123 更新时间:2023-12-02 21:41:31 25 4
gpt4 key购买 nike

我们有两个 Windows 域,它们之间没有信任。在主域中,我们有一个简单的 TFS server 2013 设置,在开发域中,我们希望设置一个额外的构建代理。该构建代理将被添加到 TFS 机器上现有的构建 Controller (TFS 机器已经包含单个构建 Controller 和代理)。

到目前为止,我已将相同的本地用户帐户添加到 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 域的域帐户感到满意并完成。该域帐户是 Dev 域中的帐户,主域中没有等效帐户。

此时,事件日志中会出现一条错误,指出“您无权访问...”。现在黑客事件开始了。您必须转到服务控制台(开始->运行->services.msc)并手动将“Visual Studio TFS Build Service Host 2013”​​服务的“登录身份”帐户更改为您的影子帐户(即本地帐户)存在于构建服务器和 TFS 服务器上,具有相同的名称和密码)。您需要重新启动该服务才能使其生效。这应该会阻止错误出现在事件日志中。

最后,您可以转到 TFS 管理控制台并添加代理。现在您应该能够按照这种方式发送构建。

无法通过 TFS 管理控制台配置帐户的原因是它不允许在“连接到 TFS 时”指定本地帐户。这当然是有道理的,因为通常本地帐户在外部无法识别。默认情况下,“使用与 Windows 服务相同的身份”复选框处于选中状态,因此它将使用指定为“作为服务登录”帐户的任何帐户。

我希望这可以帮助人们避免一些严重的头痛。

关于tfs - 在单独域中的另一台计算机上安装 TFS 2013 构建代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21110624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com