有没有一种方法可以根据 devops 的部分成功或特定阶段的成功制定分支策略?
Is there a way to have a branch policy that based on partial success or success of specific stage on devops?
我正在学习 azure devop 的 PR 构建和 PR 发布。我设置了所需的触发器,我的分支策略是这样的,所以如果 PR 发布成功就会通过。
在PR发布中说,我们有几个阶段(测试阶段,拆除测试环境阶段和批准阶段)。
想想这个场景:
测试阶段包含一些自动化测试和一些失败的测试。然后这个阶段将被标记为失败。我们的 QA 对此进行了调查,认为失败的测试非常小,不应阻止 pr 的合并和部署。所以他们想批准这个PR。
但是,由于这个阶段失败了,即使其他阶段都成功了,这次发布的状态也不会是“成功”。结果,PR 无法继续。我通过跳过一个阶段来模拟这个,你可以看到如果一个阶段不成功,PR 将显示“Check failed”。
有没有办法检查特定阶段的状态而不是整个版本的状态?
我不相信您可以达到那个级别,门户网站或 API 中没有任何内容建议您可以这样做。作为解决方法,您可以这样做:
- 将您的构建验证门从必需更改为可选 - 这将触发构建,但不会在部分成功时阻止。
- 将脚本步骤添加到“应该部署”阶段,使用 PR Status API 到 post 返回 PR 的状态。
- 向分支添加状态检查策略以查找您在上一步中post编辑的状态。
我正在学习 azure devop 的 PR 构建和 PR 发布。我设置了所需的触发器,我的分支策略是这样的,所以如果 PR 发布成功就会通过。
在PR发布中说,我们有几个阶段(测试阶段,拆除测试环境阶段和批准阶段)。
想想这个场景: 测试阶段包含一些自动化测试和一些失败的测试。然后这个阶段将被标记为失败。我们的 QA 对此进行了调查,认为失败的测试非常小,不应阻止 pr 的合并和部署。所以他们想批准这个PR。
但是,由于这个阶段失败了,即使其他阶段都成功了,这次发布的状态也不会是“成功”。结果,PR 无法继续。我通过跳过一个阶段来模拟这个,你可以看到如果一个阶段不成功,PR 将显示“Check failed”。
有没有办法检查特定阶段的状态而不是整个版本的状态?
我不相信您可以达到那个级别,门户网站或 API 中没有任何内容建议您可以这样做。作为解决方法,您可以这样做:
- 将您的构建验证门从必需更改为可选 - 这将触发构建,但不会在部分成功时阻止。
- 将脚本步骤添加到“应该部署”阶段,使用 PR Status API 到 post 返回 PR 的状态。
- 向分支添加状态检查策略以查找您在上一步中post编辑的状态。