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

如何在Azure DevOps的Azure CLI任务中读取发布管道变量并用作环境变量?

Azure DevOps发布管道变量读取方案

PowerShell任务(含PowerShell Core)

读取普通管道变量(非秘密)

  • 方法1:内联脚本直接使用$(变量名)
    示例:

    Write-Host "读取普通变量:$(MyNormalVariable)"
    

    注意:确保发布管道中已正确定义该变量,且任务未禁用「启用变量替换」(默认启用)。

  • 方法2:通过环境变量读取
    Azure DevOps会自动将管道变量转换为全大写、下划线替换特殊字符的环境变量。例如:

    • 管道变量My.Variable → 环境变量MY_VARIABLE
    • 管道变量ProjectName → 环境变量PROJECTNAME
      示例:
    Write-Host "通过环境变量读取:$env:MY_VARIABLE"
    

读取秘密管道变量

秘密变量默认不会暴露为环境变量,也无法直接用$(变量名)在脚本中输出(会被自动屏蔽),需通过任务的「环境变量」映射后读取:

  1. 在PowerShell任务的「环境变量」配置栏,添加键值对:
    • 键:自定义环境变量名(如MY_SECRET_VAR)
    • 值:$(秘密变量名)(如$(MySecretVariable))
  2. 在脚本中通过$env:自定义环境变量名读取:
    Write-Host "读取秘密变量:$env:MY_SECRET_VAR"
    

Azure CLI任务(PowerShell Core模式)

读取普通管道变量

  • 方法1:直接在CLI命令或内联脚本中使用$(变量名)
    示例:

    az vm start --resource-group $(ResourceGroup) --name $(VMName)
    Write-Host "读取变量:$(MyNormalVar)"
    
  • 方法2:通过环境变量读取
    规则同PowerShell任务,转换为全大写、下划线替换特殊字符的环境变量,示例:

    Write-Host "环境变量读取:$env:RESOURCEGROUP"
    

读取秘密管道变量

同样需通过任务的「环境变量」映射:

  1. 在Azure CLI任务的「环境变量」配置栏,添加键值对:
    • 键:自定义环境变量名(如AZ_SECRET)
    • 值:$(秘密变量名)
  2. 在脚本中读取:
    az keyvault secret set --vault-name $(VaultName) --name "MySecret" --value $env:AZ_SECRET
    

常见问题解决

若配置环境变量后输出$(valueName)而非实际值,检查以下两点:

  1. 环境变量的值是否正确填写为$(管道变量名),而非直接写valueName;
  2. 确保任务的「启用变量替换」选项处于启用状态(默认启用)。

内容的提问来源于stack exchange,提问作者Saurav Likhar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:20:34