Azure DevOps 流水线如何设置每次运行都触发审批环节?
解决Azure DevOps流水线每次运行触发审批的问题
方法一:调整环境审批的复用设置
如果坚持使用环境关联的审批,需关闭审批复用功能:
- 打开Azure DevOps项目,进入环境页面,找到绑定到部署阶段的目标环境
- 点击环境右上角的「编辑」按钮
- 在「审批」配置区域,取消勾选允许重复使用审批(部分版本描述为「跳过已批准的运行」)
- 保存设置后,每次流水线运行到该环境的部署阶段时,都会发起新的审批请求
方法二:在流水线YAML中添加手动审批任务(推荐)
直接在最终部署阶段前插入ManualValidation任务,确保每次运行都触发审批,无需依赖环境设置:
stages: - stage: Build jobs: - job: BuildApp steps: - script: echo "执行构建任务" - stage: PreDeployApproval displayName: "部署前审批" pool: server jobs: - job: WaitForApproval displayName: "等待审批确认" steps: - task: ManualValidation@0 inputs: notifyUsers: '审批人邮箱1;审批人邮箱2' # 替换为实际审批人账号/邮箱 instructions: '请确认是否执行最终部署操作' timeoutInMinutes: 1440 # 可选,设置审批超时时间(单位:分钟) - stage: FinalDeploy displayName: "最终部署" dependsOn: PreDeployApproval jobs: - deployment: DeployToProd environment: 'Production' strategy: runOnce: deploy: steps: - script: echo "执行生产环境部署"
该方法的优势是审批逻辑直接嵌入流水线定义,每次运行都会生成独立的审批请求,不受环境设置影响,完全满足“每次运行都触发审批”的要求。
内容的提问来源于stack exchange,提问作者Deepak D
相关产品推荐
相关产品推荐

