Nic*_*oub 5 azure azure-devops azure-pipelines
我在 Azure DevOps 中的发布管道有一个作业。该作业有 3 个任务:A、B、C。我需要对此进行设置,以便 B 和 C 仅在 A 成功时运行,但如果 A 成功而 B 失败,则 C 仍然运行。
我似乎无法找出实现这一目标的正确条件。根据文档,您可以使任务依赖于另一个作业的状态,但看起来一个任务不可能依赖于另一个任务。
默认情况下,每个任务只有在前一个任务成功的情况下才会执行,因此只有在 A 成功的情况下才会执行任务 B。
您希望即使任务 B 失败,任务 C 也会被执行,因此将以下条件添加到任务 B 中:
continueOnError: true
Run Code Online (Sandbox Code Playgroud)
现在,如果任务 B 失败,则任务 C 将被执行,但如果任务 A 失败,则任务 B 和 C 将被跳过。
例如,3 个 PowerShell 任务:
- powershell: 'Write-Host "A"'
displayName: A
- powershell: 'Write-Host "B"'
displayName: B
continueOnError: true
- powershell: 'Write-Host "C"'
displayName: C
Run Code Online (Sandbox Code Playgroud)
在上述行为中,构建将呈橙色(部分成功),如果您在 C 之后还有其他任务,它们也将被执行,如果您希望任务 B 为红色,并且只有任务 C 在其之后运行,做到这一点并不容易,请检查这个问题和答案。
| 归档时间: |
|
| 查看次数: |
3113 次 |
| 最近记录: |