我实现了一些天蓝色的管道任务,在某些情况下,构建步骤将无法执行,即将被跳过。
我想知道如何强行使那些跳过的步骤失败。
谢谢。
答案 0 :(得分:2)
如何强制使天蓝色管道CI / CD失败
没有任何一种方法可以使失败的构建步骤强制失败。因为此行为是故意设计的。
由于跳过了某些条件构建步骤,因此不会执行那些构建步骤,因此应跳过其最合适的状态,而不是失败。
作为解决方法,我们可以添加带有以下脚本的Powershell任务,以使从任务构建失败:
Write-Host "##vso[task.setvariable variable=agent.jobstatus;]Failed"
Write-Host "##vso[task.complete result=Failed;]DONE"
但是另一个挑战是没有直接条件,因此我们可以在上一个跳过的任务之后执行上述powershell任务:
它仅提供条件成功或失败。
因此,我们仍然需要在此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
您可以对其进行投票并跟踪其反馈。
希望这会有所帮助。