如何在有新版本可用时自动取消等待POST-DEPLOYMENT审批的发布
针对POST-DEPLOYMENT审批场景的旧版本自动作废解决方案
目前没有和PRE-DEPLOYMENT审批一样的原生一键配置项,你可以通过以下几种方式实现自动化:
- 方案1:流水线内置API调用实现自动取消
给QA环境的部署阶段新增后置任务,每次QA环境部署成功后,先调用对应CI/CD平台的发布查询API,拉取所有当前处于待POST-DEPLOYMENT审批状态的PROD发布记录,再批量调用取消发布接口作废这些旧请求即可。主流CI/CD平台(Azure DevOps、GitLab CI、Jenkins等)都支持在流水线任务中直接调用自身平台的OpenAPI,不需要额外搭建外部服务。 - 方案2:新增审批校验规则自动过滤旧版本
给PROD环境的POST-DEPLOYMENT审批节点新增自定义校验条件,只有当前待审批的版本号与QA环境当前运行的最新版本号完全一致时,审批请求才会生效进入队列,否则系统自动驳回该请求。无需额外开发,只需要在审批规则配置页新增对应判断逻辑即可。 - 方案3:特定平台原生配置适配
如果你使用的是Azure DevOps,可以直接在PROD环境的部署触发配置中开启Release trigger的QA环境关联规则,每次QA环境有新的成功部署记录时,系统会自动废弃上一次关联的PROD待审批发布,全程不需要人工介入。
补充优化建议:可以给所有待POST-DEPLOYMENT审批的发布增加版本标签标识,每次新版本推送到QA后,自动给所有旧的待审批请求打上
obsolete标签,审批队列可以直接过滤掉带该标签的请求,避免旧版本干扰审批流程。
内容的提问来源于stack exchange,提问作者edgar_is
相关产品推荐
相关产品推荐

