首页 > 解决方案 > 有没有办法制定基于 devops 特定阶段的部分成功或成功的分支策略?

问题描述

我正在学习 azure devop 的 PR 构建和 PR 发布。我设置了所需的触发器,我的分支策略是这样的,所以如果 PR 发布成功就会通过。

在此处输入图像描述

比如说在 PR 发布中,我们有几个阶段(测试阶段、拆除测试环境阶段和批准阶段)。

想想这个场景:测试阶段包含一些自动化测试和一些失败的测试。那么这个阶段将被标记为失败。我们的 QA 对其进行了调查,并认为失败的测试非常小,不应阻止 pr 合并和部署。所以他们想要批准这个 PR。

但是,由于此阶段失败,即使其他阶段成功,此版本的状态也不会是“Succeeded”。结果,PR 无法继续。我通过跳过一个阶段来模拟这个,你可以看到如果一个阶段不成功,PR 会显示“检查失败”。 在此处输入图像描述 在此处输入图像描述

除了整个版本的状态之外,有没有办法检查特定阶段的状态?

标签: azure-devopsdevops

解决方案


我不相信你能达到那个水平,门户网站或 API 中没有任何内容表明你可以做到这一点。作为一种解决方法,您可以这样做:

  1. 将构建验证门从必需更改为可选 - 这将触发构建,但不会阻止部分成功。

可选的构建门

  1. 将脚本步骤添加到“应该部署”阶段,该阶段使用PR 状态 API将状态发布回 PR。

PR 状态更新 JSON

  1. 向分支添加状态检查策略以查找您在上一步中发布的状态。

在此处输入图像描述


推荐阅读