据我所知,Azure DevOps代理能够自动检测其自身功能。根据文档,只要我在安装了新软件后重新启动主机,就应该自动注册该功能。
我现在遇到的麻烦是让代理检测Windows主机上自托管代理上Yarn的存在。查看PATH环境变量会显示Yarn可执行文件的存在,但是尽管重新启动了主机,但它并未被列为功能。我当前的解决方法是将Yarn手动添加到功能列表并将其值设置为 true 。
作为旁注,yarn是使用win_chocolatey插件通过Ansible安装的。安装成功,没有错误。
我想知道几件事
1)我是否缺少引起此问题的东西?
2)这是纱线固有的问题吗?如果这是Yarn固有的问题,是否有办法自动将手动添加纱线作为一项功能?
答案 0 :(得分:1)
Windows代理的功能来自环境变量。
如果要设置一个值,请添加一条添加行,将其添加到机器中。
[System.Environment]::SetEnvironmentVariable("CAPABILITYNAME", "value", "Machine")
当您启动服务时,它将接您。
我目前正在尝试为一组Linux代理做类似的事情...
关于功能的有趣之处在于它们不是路径。例如,它可能表明您具有适用于2019和2017的msbuild,但我无法将其用作管道变量。