Sam*_*ley 4 azure-devops azure-pipelines
我有一个 Azure DevOps 构建管道,其中包含两个代理作业,我将其称为作业 A 和作业 B。我希望这些作业同时运行,但如果作业 A 失败,那么我不需要作业 B 运行完成。
有没有办法向作业 A 添加一个任务,如果作业 A 的任何任务失败,该任务将取消作业 B(或者,以“失败”状态终止整个管道)?
添加一个在任务失败时取消管道的 PowerShell 任务:
steps:
- powershell: |
Write-Host "Cancel all jobs..."
$url = "$($env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI)$env:SYSTEM_TEAMPROJECTID/_apis/build/builds/$($env:BUILD_BUILDID)?api-version=2.0"
$header = @{ Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN" }
$body = @{ 'status'='Cancelling' } | ConvertTo-Json
Invoke-RestMethod -Uri $url -Method Patch -Body $body -Headers $header -ContentType application/json
displayName: Cancel the pipeline
condition: failed()
env:
System_AccessToken: $(System.AccessToken)
Run Code Online (Sandbox Code Playgroud)
结果:
| 归档时间: |
|
| 查看次数: |
4002 次 |
| 最近记录: |