我们的DevOps管道一直在Microsoft托管代理上运行,但为了帮助锁定我们的环境,我们现在转向自托管代理(具体来说,这样我们就可以将代码部署到具有私有端点的Function App)。
我们已经选择了Scale Set Agents,并从this page开始,这解决了我们当前的问题,因为我们的AzureFunctionApp@1
任务在新的代理池中运行良好。
然而,我们正在努力在新代理上运行各种其他任务,特别是PowerShell@2
和AzureCLI@2
任务失败了,可能这两个任务都依赖PowerShell;在这两种情况下,我们都看到了错误:
##[error]Unable to locate executable file: 'pwsh'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
我希望Azure Devops将比例集代理配置为与Microsoft托管的代理类似,但可能并非如此。我是否需要使用自定义脚本扩展来安装PowerShell?
我们使用的是UbuntuLTS
虚拟机映像,如上面链接的指南所示。
2条答案
按热度按时间dffbzjpn1#
我希望Azure Devops配置Scale Set Agent的方式与Microsoft托管的代理类似,但事实可能并非如此。
它不需要任何工具。你安装的代理只允许使用机器作为构建代理。其他的一切都必须是VM镜像的一部分或者以后安装。
遗憾的是,微软不能分发他们的图像,但可以建立他们自己用途:https://github.com/actions/runner-images/blob/main/docs/create-image-and-azure-resources.md
lsmepo6l2#
正如@jikuja所指出的,简单地按照微软指南获得的比例集代理是相当空的,而且有用处。
实际上,解决方案是构建一个图像并将其应用于比例集。
对于任何人(像我一样)想要一个快捷方式来构建和应用一个看起来像微软托管代理的映像,我会重新评论一下这个项目:https://github.com/YannickRe/azuredevops-buildagents .