Azure DevOps自托管Windows代理Bash任务运行失败问题
解决Azure DevOps自托管Windows代理Bash任务报错问题
报错信息
Windows Subsystem for Linux has no installed distributions.
##[error]The process 'C:\Windows\system32\bash.exe' failed with exit code 1
解决方案
检查代理服务运行账户
Azure DevOps代理默认以本地系统账户运行,而WSL分发版是绑定到特定用户的,本地系统账户无法访问用户安装的WSL环境。打开服务管理器,找到Azure Pipelines Agent服务,将登录账户改为你手动登录时能正常运行Bash脚本的用户,重启服务。设置默认WSL分发版
用代理服务的登录账户登录代理机器,打开PowerShell执行命令:wsl --set-default <你的分发版名称>示例:
wsl --set-default Ubuntu,确保bash.exe能调用到默认分发。验证代理账户的WSL访问权限
切换到代理服务的登录账户,打开命令提示符执行bash.exe,确认能正常进入WSL环境,无报错。直接指定WSL分发可执行文件(可选)
在Azure DevOps的Bash任务中,将脚本执行路径改为对应分发的可执行文件,比如Ubuntu的路径:C:\Users\<你的用户名>\AppData\Local\Microsoft\WindowsApps\ubuntu.exe
内容的提问来源于stack exchange,提问作者megha
相关产品推荐
相关产品推荐

