【问题标题】:TFS(On-Prem) Build Agent(On-Prem) Not Finding Visual Studio 2017 Capability While Running As ServiceTFS(本地)构建代理(本地)在作为服务运行时未找到 Visual Studio 2017 功能
【发布时间】:2019-06-15 10:48:54
【问题描述】:

Microsoft Visual Studio Team Foundation Server - 版本 16.131.28106.2
Agent.OS Windows_NT
Agent.OSVersion 6.3.9600
Agent.Version 2.136.1

我的 TFS 构建代理在作为服务运行时(在我的主域上的服务帐户下)未将 Visual Studio 2017(企业版)识别为一项功能。同一代理确实将 Visual Studio 2015 识别为一项功能,同时在与上述相同的帐户下作为服务运行。

我已经更新了代理,删除并重新配置了相关的构建代理,重新启动了代理服务,并重新启动了操作系统。我确实注意到,当第一次配置此代理时,当代理在运行配置脚本的个人下运行时,该功能会被短暂识别,但当代理切换到在服务帐户下运行时,VS2017能力消失。

在注意到这一点后,我为有问题的服务帐户授予了对根 Windows 安装目录、“程序文件 (x86)”以及与 VS2017 安装相关的所有目录和文件的读取和执行权限,但这没有帮助。

如果我以交互方式运行不同的构建代理(与上面列出的版本相同),VS2017 被识别为一项功能,因此我假设我需要针对我尝试使用的服务帐户做一些事情.

为了更好地衡量,在 Visual Studio 构建任务中,我尝试使用“最新”选项和“Visual Studio 2017”选项。我还尝试将“/p:VisualStudioVersion=15.0”添加到此任务的 MSBuild 参数中。

更新:我还尝试直接在“用户定义”部分中明确指定功能,并尝试通过在代理主机上使用环境变量来添加功能。

【问题讨论】:

    标签: tfs visual-studio-2017 continuous-integration continuous-deployment


    【解决方案1】:

    您是否确保将服务帐户用户添加为运行代理的池中的角色服务帐户? 还要确保服务帐户能够在这些本地安全策略中执行以下操作:“作为服务登录”、“作为操作系统的一部分”、“管理审核和安全日志”

    我不能说这能解决你的问题,但我只知道这些在我处理的设置中是必要的。

    您还可以快速轻松地进行测试,将您的服务帐户添加为机器上的管理员,然后测试它是否找到 VS 2017。如果是这样,那么您知道您需要设置一些特定的组和权限。

    【讨论】:

    • 我验证了服务帐户用户已作为角色服务帐户添加到运行代理的池中。问题依然存在。
    • 将帐户添加到主机上的本地管理员组确实允许找到 VS2017 功能。
    • 好的,那你就知道是权限问题了:)
    猜你喜欢
    • 1970-01-01
    • 2018-09-14
    • 2013-02-22
    • 1970-01-01
    • 2017-07-04
    • 2020-12-28
    • 2017-12-13
    • 1970-01-01
    • 2016-09-17
    相关资源
    最近更新 更多