Azure DevOps Ubuntu流水线运行AzureCLI@2任务找不到可执行文件如何解决
错误根因
- 你配置的构建代理运行环境为
ubuntu-latest(Linux系统),但AzureCLI@2任务中scriptType参数被设为了batch——这是Windows系统专属的批处理脚本格式,Linux系统不支持。 - Azure DevOps执行内联脚本时,会按照你指定的脚本类型生成对应后缀的临时文件,你选了batch就会生成
.bat后缀的文件,Linux没有对应批处理执行程序,自然无法识别该文件为可执行文件,就会抛出你遇到的报错。
修复方法
将YAML配置中scriptType的取值从batch改为bash即可,bash是Linux系统原生支持的脚本类型,修正后的完整配置如下:
trigger: - main - dev pool: vmImage: ubuntu-latest steps: - task: AzureCLI@2 inputs: azureSubscription: 'My Subscription Name' scriptType: 'bash' scriptLocation: 'inlineScript' inlineScript: 'az --version'
补充说明
- 如果后续你切换到Windows系统的构建代理,再把
scriptType改回batch或者powershell即可正常运行 - macOS系统的构建代理同样支持
bash作为scriptType取值
内容的提问来源于stack exchange,提问作者Thomas
相关产品推荐
相关产品推荐

