我正在 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"
我能够$(varFromJob)
在作业 useVars 中逐步打印变量。但是我不能在这个 if (condition) 例子中使用它。
我正在尝试不同的方法,例如https://docs.microsoft.com/en-us/azure/devops/pipelines/process/conditions?view=azure-devops&tabs=yamlvariables.varFromJob
中的其他方法。
你们有没有为类似的问题而苦苦挣扎?我如何定义它以使其工作?
非常感谢!拉法尔