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

Bamboo中gradle-release-plugin执行release任务引发无限循环求助

解决Bamboo + Gradle Release Plugin的构建无限循环问题

这个问题我之前帮同事排查过,核心就是Gradle Release Plugin执行后生成的自动提交被Bamboo的触发器检测到,反复触发构建,形成了循环。下面给你几个靠谱的解决思路:

方法1:直接在Bamboo触发器里排除Release插件的自动提交

这是最直接的方案,不需要修改Gradle配置,只需要调整Bamboo的构建计划设置:

  • 打开你的Bamboo构建计划,进入配置页面
  • 找到触发器选项卡,选中你当前使用的Git触发器(比如「Repository polling」或者「Push trigger」)
  • 在触发器的过滤设置里,找到「Exclude commits by message」(不同Bamboo版本可能翻译或位置略有不同,核心是按提交消息排除)
  • 填入正则表达式:^\[Gradle Release Plugin\].*
    • 这个正则会匹配所有以「[Gradle Release Plugin]」开头的提交消息,正好对应插件生成的两个自动提交(准备发布版本、准备下一个迭代版本的提交)
  • 保存配置后,Bamboo就会忽略这些自动提交,不会再触发循环构建

方法2:自定义Gradle Release Plugin的提交消息(可选)

如果你想让提交消息更个性化,或者担心默认消息的匹配问题,可以在Gradle配置里修改提交消息前缀,再对应调整Bamboo的过滤规则:
在项目的build.gradle里添加如下配置:

plugins {
    id 'net.researchgate.release' version '3.0.2' // 确保你的插件版本正确
}

release {
    scmAdapters {
        git {
            // 自定义提交消息前缀
            commitMessagePrefix = '[Gradle Auto Release]'
            // 标签消息也可以同步修改
            tagMessage = '[Gradle Auto Release] - Release tag v${version}'
        }
    }
}

然后回到Bamboo的触发器配置,把排除的正则改成^\[Gradle Auto Release\].*即可。

额外注意事项

  • 测试正则匹配:在Bamboo的触发器配置里,通常会有测试匹配的功能,可以输入插件生成的提交消息,验证正则是否能正确匹配
  • 确认触发源:查看Bamboo的构建历史,确认每次触发构建的提交确实是Gradle Release Plugin生成的那两条,避免排除错了提交
  • Webhook触发器的情况:如果用的是Git仓库的webhook触发Bamboo,有些仓库平台也可以在webhook里设置提交消息过滤,不过在Bamboo端统一处理更省心

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:31:53