Azure devops Azure DevOps管道在部署中定义变量,并在后续作业中重用

Azure devops Azure DevOps管道在部署中定义变量,并在后续作业中重用,azure-devops,azure-pipelines,azure-pipelines-yaml,Azure Devops,Azure Pipelines,Azure Pipelines Yaml,我正在使用Azure DevOps管道来部署我的代码,现在我需要将变量值从部署作业传递给依赖它的后续作业。我已经读过了,但似乎一点用都没有 我试图做的是运行一个Azure ARM部署,提供一个密钥库。密钥库的名称从ARM部署作业输出,然后我尝试将该名称传递给另一个需要添加特定机密的作业。访问控制已完成,但我仍需要传递名称 我将问题归结为将变量从部署传递到作业的基础。这是我完整的测试管道(几乎完全复制自): 触发器:无 阶段: -阶段:X 工作: -部署:A 游泳池: vmImage:“ubunt

我正在使用Azure DevOps管道来部署我的代码,现在我需要将变量值从部署作业传递给依赖它的后续作业。我已经读过了,但似乎一点用都没有

我试图做的是运行一个Azure ARM部署,提供一个密钥库。密钥库的名称从ARM部署作业输出,然后我尝试将该名称传递给另一个需要添加特定机密的作业。访问控制已完成,但我仍需要传递名称

我将问题归结为将变量从
部署
传递到
作业
的基础。这是我完整的测试管道(几乎完全复制自):

触发器:无
阶段:
-阶段:X
工作:
-部署:A
游泳池:
vmImage:“ubuntu-16.04”
环境:测试
战略:
跳动:
部署:
步骤:
-脚本:echo“##vso[task.setvariable=myOutputVar;isooutput=true]这是部署变量值”
名称:setvarStep
-脚本:echo$(setvarStep.myOutputVar)
姓名:echovar
-工作:B
德彭森:A
游泳池:
vmImage:“ubuntu-16.04”
变量:
myVarFromDeploymentJob:$[dependencies.A.outputs['deploy.setvarStep.myOutputVar']]
步骤:
-脚本:“echo$(myVarFromDeploymentJob)”
姓名:echovar
运行此命令后,在作业
B
中,回显值为空,但在部署
A
中定义。为什么会这样?有没有一种方法可以在
dependencies.a.outputs
中对所有内容进行dum,这样我就可以看到需要处理的内容了


如何将变量从部署作业传递到常规作业?

我已经解决了这个问题。问题在于,文档指定了此模式,用于获取
runOnce
部署的变量:

$[dependencies.<job-name>.outputs['<lifecycle-hookname>.<step-name>.<variable-name>']]
$[dependencies.<job-name>.outputs['<job-name>.<step-name>.<variable-name>']]