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

Azure DevOps YAML中AzureCLI@2任务输出管道变量无法读取问题

问题根因
  • AzureCLI@2任务设置的thing变量无法读取,核心原因是该任务没有配置name属性。
  • Azure DevOps流水线中,设置了isOutput=true的输出变量,跨步骤引用时必须遵循$(任务名.变量名)的格式。你引用时写的是$(output.thing),但AzureCLI@2任务从未被命名为output——你只给它配置了界面展示用的displayName,这个属性不能作为变量引用的任务标识。
  • 能正常读取的thing2变量,对应的PowerShell任务显式配置了name: output2,和引用前缀完全匹配,所以可以正常输出。
修复方法

给AzureCLI@2任务添加name字段,值和你引用时用的前缀保持一致即可,修正后的任务配置:

- task: AzureCLI@2
  name: output  # 该字段为任务引用标识,必须和后续取值的前缀对应
  displayName: 'output'
  inputs:
    azureSubscription: Subscription
    scriptType: 'pscore'
    scriptLocation: 'inlineScript'
    addSpnToEnvironment: true
    inlineScript: |
      echo "##vso[task.setvariable variable=thing;isOutput=true]thing"

配置完成后,原有$(output.thing)的写法就可以正常获取到变量值。

补充:如果后续需要跨作业、跨阶段引用该输出变量,deployment类型作业的引用格式需要额外拼接作业名、策略名层级;当前同作业同部署步骤内的引用,按上述配置即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 11:09:28