如何强制使我的 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
您可以对其进行投票并跟踪其反馈。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
456 次 |
| 最近记录: |