gpt4 book ai didi

azure-pipelines - 从部署作业中检索输出变量

转载 作者:行者123 更新时间:2023-12-03 08:53:11 26 4
gpt4 key购买 nike

在下面的示例中,我能够访问 jobA 的输出变量,但不能访问 deploymentA 的输出变量。主要区别在于 jobA 是“正常”作业,而 deploymentA 是部署作业。

jobs:
- deployment: deploymentA
environment: Test
strategy:
runOnce:
deploy:
steps:
- checkout: none
- pwsh: |
echo "##vso[task.setvariable variable=someVar;isOutput=true]someValue"
name: someName

- job: jobA
steps:
- checkout: none
- pwsh: |
echo "##vso[task.setvariable variable=someVarA;isOutput=true]someValueA"
name: someNameA

- job: jobB
dependsOn:
- deploymentA
- jobA

variables:
deployJobVar: $[dependencies.deploymentA.outputs['someName.someVar']]
jobVar: $[dependencies.jobA.outputs['someNameA.someVarA']]

steps:
- checkout: none
- pwsh: |
echo "$(deployJobVar)" # will display empty string
echo "$(jobVar)" # will display 'someValueA'

best hint我发现是:

If you're setting a variable from a matrix or slice, then to reference the variable, you have to include the name of the job as well as the step when you access it from a downstream job.

不完全相同,但我尝试在前面添加类似的标识符,但以下方法均无效:

$[dependencies.deploymentA.outputs['runOnce.someName.someVar']]
$[dependencies.deploymentA.outputs['deploy.someName.someVar']]
$[dependencies.deploymentA.outputs['runOnce.deploy.someName.someVar']]

有人知道访问部署作业输出的特定变量的正确语法吗?或者,有人知道如何显示所有输出的变量吗?

最佳答案

目前文档还不完整,但是只要发挥一点想象力,我们可以注意到 Set a multi-job output variable 的第二部分适用。

您需要做的就是使用作业名称作为前缀来引用变量:deploymentA.someName.someVar 而不是 someName.someVar:

deployJobVar: $[dependencies.deploymentA.outputs['deploymentA.someName.someVar']]

是的,deploymentA 出现了两次。

关于azure-pipelines - 从部署作业中检索输出变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57582203/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com