Azure CLI无法读取ADO Release流水线变量 如何传递Build变量到Release使用
问题解答
1 报错原因与命令适配说明
你当前使用的az pipelines variable list默认仅检索Build类型流水线的变量,未指定流水线类型时,系统会将你传入的Release流水线名称作为Build流水线名称匹配,因此返回无对应构建定义的报错。
该命令支持操作Release流水线变量,只需补充--pipeline-type release参数即可,你可以先执行以下命令验证:
az pipelines variable list --org $orgname --project $projectname --pipeline-name $pipelinename --pipeline-type release
执行前请确保你本地的azure-devops CLI扩展已升级到最新版本。
2 Build变量传递到Release流水线的可行方案
以下三种方案均无需额外调用Rest接口,适配不同的流水线使用场景:
- 方案1:构建产物携带配置文件(全场景通用)
在Build流水线的最后一步,将补丁名称等需要传递的变量写入json/txt格式的配置文件,将配置文件和Dynamics 365补丁包一同作为构建产物发布。Release流水线拉取构建产物后,直接读取配置文件内容赋值给临时变量,即可供后续部署任务调用。 - 方案2:引用Build输出变量(经典Release流水线最简方案)
在Build流水线中通过日志命令标记需要传递的变量为输出变量:
在Release流水线中关联对应Build流水线作为源,设置Build源的别名后,直接在Release的变量或任务参数中通过echo "##vso[task.setvariable variable=HotfixName;isOutput=true]$(你的补丁变量名)"$(Build源别名.阶段名.输出变量任务名.HotfixName)格式即可直接调用该变量。 - 方案3:Azure CLI修改Release变量(适配你原有的技术路径)
你原本的技术路径可以通过修正参数实现,新增/更新Release流水线变量时,在原有命令基础上补充--pipeline-type release参数即可完成操作。

内容的提问来源于stack exchange,提问作者Mustaque Ali
相关产品推荐
相关产品推荐

