You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DevOps发布阶段内跳过手动部署后审批?

可行实现方案

方案1:拆分阶段,提前生成审批记录

  • 将原部署阶段拆分为前置审批阶段和实际部署阶段:先创建一个仅包含审批步骤的阶段,配置为进入阶段后立即触发审批(无需等待其他操作),这样审批记录会在实际部署开始前生成。此时可通过release/approvals API监听该审批记录的创建事件,满足特定条件时自动完成审批,触发后续部署阶段。
  • 核心是让审批步骤独立于部署操作,确保审批记录在阶段运行初期就存在,而非阶段结束后生成。

方案2:管道内嵌入查询+审批脚本

  • 在部署步骤前添加自定义脚本任务,循环查询当前发布的审批状态,一旦检测到待审批记录(此时记录已生成),立即执行自动审批逻辑。
  • 脚本示例(伪代码):
# 循环查询目标阶段的待审批记录
while true; do
  APPROVAL_ID=$(az devops release approval list --release-id $RELEASE_ID --query "[?status=='pending' && phaseName=='你的部署阶段名称'].id" -o tsv)
  if [ -n "$APPROVAL_ID" ]; then
    # 校验自动审批条件(如分支、版本、测试结果等)
    if [ "$RELEASE_BRANCH" = "production" ] && [ "$TEST_PASS" = "true" ]; then
      az devops release approval update --approval-id $APPROVAL_ID --status approved --comments "符合条件,自动审批通过"
      break
    fi
  fi
  sleep 10
done

方案3:事件驱动的自动审批

  • 订阅DevOps的发布审批创建事件,当新的审批记录生成时,触发Azure Function或自建服务。在服务中判断是否满足预设条件,若符合则调用release/approvals API完成审批。
  • 这种方式无需修改管道结构,通过事件监听实现跨管道的统一自动审批规则,适合多项目复用场景。

关键注意事项

  • 确保调用API的服务主体拥有发布审批管理权限,避免权限不足导致操作失败。
  • 自动审批的条件逻辑需严谨,可基于发布分支、版本标签、测试报告结果等维度判断,防止误触发审批。

内容的提问来源于stack exchange,提问作者frummel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 12:58:22