【发布时间】:2020-02-12 11:07:13
【问题描述】:
我有一个看起来像这样的pipeline.yaml
pool:
vmImage: image
stages:
-stage: A
jobs:
-job: a
steps:
- script: |
echo "This is stage build"
echo "##vso[task.setvariable variable=doThing;isOutput=true]Yes"
name: BuildStageRun
-stage: B
jobs:
-job: b
steps: #do something in steps
-job: c
dependsOn: a
condition: eq(dependencies.build.outputs['BuildStageRun.doThing'], 'Yes')
steps:
- script: echo "I am scripting"
所以,有 2 个阶段,A 有一个工作 a,B 有两个工作 b和 c。我希望仅在作业 a 执行后才执行作业 c。我尝试通过将作业 a 中的变量 doThing 设置为是,然后在作业 c 中检查此变量。
但我得到一个错误:
阶段计划作业 c 依赖于未知作业 a。
变量定义和条件定义取自Azure documentation
您对如何使其正常工作有什么建议吗?
【问题讨论】:
标签: azure-devops conditional-statements azure-pipelines multistage-pipeline