在 Azure Pipeline YAML 中,如何使用 succeeded('JobName') 创建阶段 运行 即使前一阶段的作业失败
In Azure Pipeline YAML, how to make stage run even though a job in previous stage fails, using succeeded('JobName')
我正在尝试进行第二阶段 运行 尽管第一阶段的两个作业中有一个失败了,但我无法使用作业状态检查功能使其按预期工作 succeeded('JobName')
.
在下面的 YAML 管道中,我希望它 运行 Stage2 即使 Job2 失败,只要Job1 成功,但没有:
stages:
- stage: Stage1
jobs:
- job: Job1
steps:
- pwsh: echo "Job1"
- job: Job2
steps:
- pwsh: write-error "Job2 error"
- stage: Stage2
condition: succeeded('Job1')
jobs:
- job: Job3
steps:
- pwsh: echo "Job3"
即使 Job2 失败,只要 Job1 成功,如何将 Stage2 变为 运行?
使用 always()
将始终使 Stage2 运行,但我希望它取决于 Job1[= 的成功状态39=],无论 Job2 状态如何。
相关文档:
看来无法在下一阶段的阶段级别处理作业结果。但是,您可以使用此解决方法:
trigger: none
pool:
vmImage: ubuntu-latest
stages:
- stage: Stage1
jobs:
- job: Job1
steps:
- pwsh: echo "Job1"
- job: Job2
steps:
- pwsh: write-error "Job2 error"
- stage: Stage2
dependsOn: Stage1
condition: always()
jobs:
- job: Job3
condition: in(stageDependencies.Stage1.Job1.result, 'Succeeded')
steps:
- pwsh: echo "Job3"
- job: Job4
condition: in(stageDependencies.Stage1.result, 'Succeeded')
steps:
- pwsh: echo "Job4"
您有这方面的文档 here。
我正在尝试进行第二阶段 运行 尽管第一阶段的两个作业中有一个失败了,但我无法使用作业状态检查功能使其按预期工作 succeeded('JobName')
.
在下面的 YAML 管道中,我希望它 运行 Stage2 即使 Job2 失败,只要Job1 成功,但没有:
stages:
- stage: Stage1
jobs:
- job: Job1
steps:
- pwsh: echo "Job1"
- job: Job2
steps:
- pwsh: write-error "Job2 error"
- stage: Stage2
condition: succeeded('Job1')
jobs:
- job: Job3
steps:
- pwsh: echo "Job3"
即使 Job2 失败,只要 Job1 成功,如何将 Stage2 变为 运行?
使用 always()
将始终使 Stage2 运行,但我希望它取决于 Job1[= 的成功状态39=],无论 Job2 状态如何。
相关文档:
看来无法在下一阶段的阶段级别处理作业结果。但是,您可以使用此解决方法:
trigger: none
pool:
vmImage: ubuntu-latest
stages:
- stage: Stage1
jobs:
- job: Job1
steps:
- pwsh: echo "Job1"
- job: Job2
steps:
- pwsh: write-error "Job2 error"
- stage: Stage2
dependsOn: Stage1
condition: always()
jobs:
- job: Job3
condition: in(stageDependencies.Stage1.Job1.result, 'Succeeded')
steps:
- pwsh: echo "Job3"
- job: Job4
condition: in(stageDependencies.Stage1.result, 'Succeeded')
steps:
- pwsh: echo "Job4"
您有这方面的文档 here。