如何强制使我的 Azure 管道 CI/CD 失败

qwe*_*rty 1 azure-pipelines

我实现了一些天蓝色的管道任务,在某些特定条件下,构建步骤将不会执行,即它将被跳过。

我想知道如何强制跳过那些跳过的步骤。

提前致谢。

Leo*_*SFT 5

如何强制使我的 Azure 管道 CI/CD 失败

没有这样的方法可以强制跳过那些跳过的构建步骤。因为这种行为是设计好的

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

作为解决方法,我们可以添加一个包含以下脚本的 Powershell 任务,以使任务构建失败:

Write-Host "##vso[task.setvariable variable=agent.jobstatus;]Failed"
Write-Host "##vso[task.complete result=Failed;]DONE"
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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

在此输入图像描述

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

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

您可以查看此线程How to get Reason for Failure of a previous task in vsts CI build以获取更多详细信息。

如果上述解决方法对您来说不够简洁,我会在我们的产品建议主论坛上添加用户声音以在任务中添加更多条件,例如 previousstatus=skipped、successivewithwarning:

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

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

希望这可以帮助。