【发布时间】:2020-12-08 03:53:42
【问题描述】:
我正在 Azure DevOps 中构建 YAML 管道。我在第一份工作中生成了几个变量,我将它们传递给其他工作并希望使用它们有条件地运行一些步骤。
代码如下所示:
stages:
- stage: ConditionalVars
jobs:
- job: outputVars
steps:
- pwsh: |
Write-Host "##vso[task.setvariable variable=varExample;isOutput=true]testVar"
name: setVars
- job: useVars
dependsOn: outputVars
variables:
varFromJob: $[ dependencies.outputVars.outputs['setVars.varExample']]
steps:
- ${{ if eq($(varFromJob), 'testVar')}}:
- pwsh: |
Write-Output "Conditionally run"
我可以在作业 useVars 的步骤中打印$(varFromJob) 变量。但我无法在这个 if (condition) 示例中使用它。
我尝试了不同的方法,例如 variables.varFromJob 和其他取自 https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yaml 的方法。
你们有没有遇到过类似的问题?我如何定义它以使其工作?
非常感谢! 拉法尔
【问题讨论】:
标签: variables azure-devops yaml azure-devops-pipelines