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

新建releases/*分支时触发Azure Pipeline的配置问题

问题根因

Azure DevOps 自带的YAML分支触发器默认仅当目标分支上检测到新提交(存在内容差异)时才会触发流水线。你从master主干新建releases/*分支时,新分支的最新提交和master的最新提交完全一致,没有内容变更,因此现有配置不会触发流水线。

可行解决方案

方案1:配置服务挂钩监听分支创建事件(最稳定)

这是最符合原生逻辑的方案,无需修改现有分支操作规范:

  • 进入Azure DevOps项目设置页,找到「服务挂钩」选项,点击新建订阅
  • 服务类型选择「Web Hooks」,触发事件选择「Git 分支创建」
  • 配置筛选规则:选择目标代码仓库,分支筛选规则填写releases/*
  • 回调地址填写Azure DevOps管道运行REST接口,请求方式为POST,接口格式如下:
    https://dev.azure.com/{你的组织名}/{你的项目名}/_apis/pipelines/{目标流水线ID}/runs?api-version=7.1-preview.1
    
  • 请求头添加两个参数:
    • Content-Type: application/json
    • Authorization: Basic {你的PAT令牌Base64编码}
      注意PAT需要分配「流水线 - 运行」的权限
  • 请求体固定传入分支参数,指定流水线运行在新建的release分支即可。

方案2:开启UI端CI触发补充配置

如果不想配置服务挂钩,可以直接调整流水线的触发规则:

  • 打开目标流水线的编辑页面,点击右上角「触发器」按钮
  • 切换到「持续集成」标签页,勾选「为新分支上的首次提交运行管道」选项
  • 保存配置后,新建符合releases/*规则的分支时,哪怕没有新提交也会自动触发流水线。
    注意:该配置仅保存在UI层面,不会写入YAML文件,迁移流水线时需要重新配置

方案3:创建分支的自动化流程中主动触发

如果你们的release分支是通过脚本/自动化工具创建的,可以直接在创建分支的逻辑最后调用上述管道运行REST接口触发流水线,还可以自定义传入版本号、分支名等参数,适配后续发布流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:15:01