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

Bamboo如何配置仅master分支触发部署后次级构建计划

问题原因

branch-overrides配置不生效是Bamboo的固有机制限制:该配置块仅能覆盖SCM轮询、代码推送、定时触发这类和分支代码强绑定的触发器规则,after-deployment属于跨项目事件类全局触发器,完全不受分支覆写逻辑管控——既不会识别你写在master分支覆写段内的触发器配置,默认触发时也不会做分支过滤,会给计划下所有启用的分支都创建构建,直接导致功能分支被误触发。

正确配置方案

方案1:使用触发器分支过滤(Bamboo 7.0及以上版本支持)

保留全局级别的after-deployment触发器,给每个触发器增加分支匹配条件,仅允许事件命中master分支时触发构建,配置示例如下:

triggers:
  - after-deployment:
      deployment-project: My Application
      environment: Dev
      conditions:
        - branch:
            name:
              equals: master
  - after-deployment:
      deployment-project: My Application
      environment: QA
      conditions:
        - branch:
            name:
              equals: master

branch-overrides: []

配置说明:

  • 触发器必须放在全局triggers段,写入branch-overrides块内的部署触发器不会被Bamboo识别加载
  • conditions块会在收到部署完成事件时做前置校验,仅当匹配分支名为master时才会创建构建,其余分支的触发请求会被直接拦截
  • 后续如果需要增加其他受信任的正式分支,可将等值匹配改为正则匹配,例如使用matches: ^(master|release/.*)$即可同时匹配主分支和标准格式的发布分支

方案2:通过部署后置任务定向触发(兼容所有Bamboo版本)

如果你的Bamboo版本低于7.0不支持触发器条件,可以直接从部署端做触发控制,绕开全局触发器的分支过滤问题:

  • 清空次级构建计划内的所有after-deployment触发器,直接设置triggers: []
  • 进入主应用My Application的Dev、QA环境部署配置页,在部署成功的后置任务列表中添加「Trigger plan」类型任务
  • 任务配置中选中你的次级构建计划,触发分支固定选择master,不要勾选「触发与部署来源匹配的分支」类选项
  • 保存部署配置后立即生效

这个方案逻辑最直接:既然所有部署操作本身就从master分支发起,部署完成后直接定向触发次级计划的master分支构建,从源头就不会产生指向功能分支的触发请求,不需要额外过滤逻辑,完全不会出现误触发。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:27:13