You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在YAML格式Azure Pipelines中指定AZ CLI使用版本

Windows-2019云代理中指定AZ CLI v2.34.1版本配置方法

windows-2019代理镜像默认预装AZ CLI v2.37.0,你可以在正式执行AZ CLI业务任务前,通过前置PowerShell步骤完成版本替换,具体操作如下:

  • 前置准备:在流水线中所有需要调用AZ CLI的任务之前,新增一个PowerShell类型的任务,脚本运行模式选择内联模式,勾选「以最高权限运行」配置项,避免安装/卸载过程出现权限不足问题。
  • 执行版本替换脚本,脚本内容如下:
# 卸载镜像预装的现有AZ CLI版本
$defaultCliPath = "${env:ProgramFiles(x86)}\Microsoft SDKs\Azure\CLI2"
if (Test-Path $defaultCliPath) {
    Start-Process msiexec.exe -ArgumentList "/x `"$defaultCliPath\azure-cli.msi`" /qn" -Wait -NoNewWindow
}
# 下载指定v2.34.1版本安装包并静默安装
$cliInstallerPath = "$env:TEMP\azure-cli-2.34.1.msi"
Invoke-WebRequest -Uri "https://azcliprod.blob.core.windows.net/msi/azure-cli-2.34.1.msi" -OutFile $cliInstallerPath
Start-Process msiexec.exe -ArgumentList "/i `"$cliInstallerPath`" /qn" -Wait -NoNewWindow
# 刷新系统环境变量,保证后续任务可以识别到新安装的AZ CLI
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
  • 增加版本校验(可选,避免版本安装失败导致业务任务异常):在安装脚本末尾追加以下校验逻辑,安装版本不符合要求时直接终止流水线:
$targetVersion = [version]"2.34.1"
$currentVersion = [version](az version --query '"azure-cli"' -o tsv)
if ($currentVersion -ne $targetVersion) {
    Write-Error "AZ CLI版本校验不通过,当前版本为$currentVersion,要求使用版本为$targetVersion"
    exit 1
}

配置注意事项

  • 不要使用pip命令直接降级AZ CLI,windows-2019镜像预装的AZ CLI为MSI安装版,pip安装的版本无法被流水线内置的AZ CLI任务正确识别调用
  • 所有AZ CLI扩展安装操作建议放在版本替换完成后执行,避免版本切换导致扩展兼容性问题
  • 该版本替换操作仅对当前运行的云代理实例生效,不会影响后续其他流水线作业的代理环境

内容的提问来源于stack exchange,提问作者Elias Arellano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 21:33:29