就像这样,我有一个相当广泛的YAML多阶段管道。在某些情况下,并行任务可能会失败,但是仍然需要数小时才能使构建失败并得到通知。一个任务可能不会否定整个构建,如果知道的话,可以及时重试以完成其他阶段。
此外,我们不希望在项目的每个管道中都这样,只是重要的管道。
如果是,怎么办?订阅发送构建失败。
答案 0 :(得分:0)
如果任务(例如任务A)失败,则可以使用Powershell任务来取消当前构建。这样就可以取消构建,并在任务A失败时及时通知您
首先在任务A之后添加一个Powershell任务,使用condtion将此Powershell任务设置为仅在任务A失败时才执行。
如果任务A失败,则在powershell任务中调用build update api以取消当前构建。对于下面的powershell任务示例。
为了使您的管道有权取消当前正在运行的构建。您需要进入管道,单击 3点,然后选择管理安全性
然后将停止构建权限设置为允许用户 Project Collection Build Service(projectName),
在下面的powershell任务中,脚本首先使用通过buildid api获取构建来获取当前构建。然后设置idiv
。然后使用构建更新API更新当前构建。
$build.status = "cancelling"