如何强制使我的天蓝色管道CI / CD失败

时间:2019-07-24 13:36:22

标签: azure-pipelines

我实现了一些天蓝色的管道任务,在某些情况下,构建步骤将无法执行,即将被跳过。

我想知道如何强行使那些跳过的步骤失败。

谢谢。

1 个答案:

答案 0 :(得分:2)

  

如何强制使天蓝色管道CI / CD失败

没有任何一种方法可以使失败的构建步骤强制失败。因为此行为是故意设计的

由于跳过了某些条件构建步骤,因此不会执行那些构建步骤,因此应跳过其最合适的状态,而不是失败。

作为解决方法,我们可以添加带有以下脚本的Powershell任务,以使从任务构建失败:

Write-Host "##vso[task.setvariable variable=agent.jobstatus;]Failed"
Write-Host "##vso[task.complete result=Failed;]DONE"

enter image description here

但是另一个挑战是没有直接条件,因此我们可以在上一个跳过的任务之后执行上述powershell任务:

enter image description here

它仅提供条件成功或失败。

因此,我们仍然需要在此PowerShell任务中通过Rest API获取上一个任务的结果,然后根据上一个任务的结果在powershell脚本之上执行

您可以检查此线程How to get reason for failure of a previous task in vsts CI build以获得更多详细信息。

如果上述解决方法不适合您,我添加了一个uservoice来在任务中添加更多条件,例如previousstatus = skipped,并在我们的主要论坛上成功警告产品建议:

https://developercommunity.visualstudio.com/idea/660602/add-more-condition-for-build-task.html

您可以对其进行投票并跟踪其反馈。

希望这会有所帮助。