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

Azure DevOps如何仅在审批通过后触发构建而非自动/手动触发?

解决Azure DevOps构建需审批后运行的配置问题

你的YAML配置未生效的核心原因是:普通的Build Job不会触发环境的审批检查,只有将作业定义为**部署作业(Deployment Job)**并关联目标环境,才能触发你在Environment中设置的审批者与检查。

另外,若要实现“仅当代码变更审批后才运行构建,禁止自动/手动触发”,需要结合以下两点配置:

1. 调整YAML为部署作业,关联目标环境

将原有的普通steps替换为部署作业,明确指定关联的环境名称。修改后的YAML示例:

trigger: none  # 关闭自动触发,避免代码提交直接启动构建

pool:
  vmImage: ubuntu-latest

jobs:
- deployment: DeployToTest
  displayName: '部署到Test环境'
  environment: test  # 关联你创建的名为test的环境
  strategy:
    runOnce:
      deploy:
        steps:
        - script: echo Hello, world!
          displayName: 'Run a one-line script'

2. 配置分支审批(确保代码变更需审批后才触发构建)

若你的需求是“代码变更(如PR合并到mainQA分支)需先经审批,再触发构建”,还需在分支策略中设置:

  • 进入项目的Repos > 分支,找到mainQA分支,点击“分支策略”
  • 添加“审批者”检查,要求PR合并前必须经过指定人员审批
  • 此时将trigger改回- mainQA,这样只有审批通过的PR合并到mainQA后,才会触发构建,且构建启动前会触发环境的审批检查

关键说明

  • 环境的审批检查仅对部署作业生效,普通Build Job无法触发该检查
  • 若完全禁止手动触发构建,可在管道设置中关闭“允许手动触发”选项,仅保留分支触发+分支审批+环境审批的链路

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 20:40:07