在 TFS 构建代理的管理区域中,是否可以设置运行构建时将使用的环境变量?
我对这个信息的大部分搜索结果都是关于如何做相反的事情 - 在 bulid 定义或代理要求中使用现有的环境变量。我想要做的是,从这个 UI 设置一个环境变量的值,然后它将可用于代理上运行的所有构建。
在 TFS 构建代理的管理区域中,是否可以设置运行构建时将使用的环境变量?
我对这个信息的大部分搜索结果都是关于如何做相反的事情 - 在 bulid 定义或代理要求中使用现有的环境变量。我想要做的是,从这个 UI 设置一个环境变量的值,然后它将可用于代理上运行的所有构建。
没有任何方法可以实现此功能。另一种方法是在构建代理机器上创建环境变量,然后该变量将可用于代理上运行的所有构建。但是,缺点是这台机器上的所有代理都会读取这个环境变量。
每个代理都有两组定义代理特征的能力。
用户功能是您可以添加到代理以帮助识别特定代理或它支持的特定功能的属性。在发布定义中可能需要这些功能,以便发布管理在执行部署时自动选择适当的代理。这些功能还可用于传递部署所需的特定于代理的值(例如您在服务器上安装的工具或框架的路径)。有关更多详细信息,请参阅为任务阶段选择代理。
系统功能是代理的内置功能,例如在部署工件时可以访问的应用程序的版本和位置。这些功能设置无法更改。
您可以在发布定义中使用它,但是正如jessehouwing在该链接中所说,您无法通过变量从 PowerShell 访问功能。并且由于 powershell 脚本实际调用了构建任务。所以这暂时无法实现。