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

Azure DevOps Pipeline:如何禁止在非master分支手动运行

在ADO Server中限制特定用户/组手动触发Pipeline时的分支选择
  • 核心解决思路:ADO Server原生没法直接隐藏手动触发时的分支选择下拉框,但可以通过「分支过滤规则+权限控制」的组合,强制特定用户/组只能选择你指定的可信分支,彻底堵死恶意分支被执行的可能。

  • 具体操作步骤:

    1. 给Pipeline设置可信分支白名单
      打开目标Pipeline的编辑界面,切换到「Triggers」标签下的「YAML」选项,找到「Branch filters」,添加你认定的可信分支(比如main、release/*这类),设置为Include规则。这个规则不仅管自动触发,手动触发时的分支下拉框只会显示这些白名单里的分支。
    2. 锁死开发人员的Pipeline编辑权限
      进入项目设置→「Pipelines」→「Pipeline permissions」,找到对应的生产Pipeline。对普通开发人员组,只保留「Queue builds」(触发构建)的权限,直接移除「Edit pipeline」(编辑Pipeline)的权限。这样他们没法修改你设置的分支白名单,也不能删掉后续加的限制逻辑。
    3. 补防手动输入分支的漏洞
      要是担心有人手动输入白名单外的分支名绕开限制,还可以给Pipeline加个审批关卡:在Pipeline里添加「Approval」阶段,设置规则——只有分支是可信分支时才允许直接执行,非可信分支必须由管理员审批。同样,因为开发人员没编辑权限,删不掉这个审批阶段。
  • 关键提醒:

    • 绝对不能让开发人员拥有「Edit pipeline」权限,这是所有限制生效的前提,不然他们能随便改规则绕开限制。
    • 别用Pipeline里加分支检测脚本的方案,正如你说的,恶意分支直接删掉这段代码就没用了,必须从ADO平台层面做强制限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:17:38