如何手动删除Bamboo中已过期/删除计划分支的旧发布构建?
解决Bamboo中已删除/过期分支的旧构建残留问题
核心原因
Bamboo默认的「分支过期删除」仅清理分支实体,不会自动关联删除该分支产生的构建、发布记录;若未配置对应的构建/发布清理规则,这些旧记录会一直留存。
分步解决方案
1. 配置计划级构建自动清理规则
针对你的新项目计划,先确保开启针对性清理:
- 进入目标计划的「配置」→「构建」→「清理」
- 勾选「自动清理构建结果」,设置保留规则(如保留最近30个构建、或30天内的构建)
- 勾选「清理已删除分支的构建结果」(部分版本有此选项),保存后等待Bamboo执行定时清理
2. 手动批量清理无关联分支的旧构建
若自动清理未生效,用构建结果搜索功能批量处理:
- 进入Bamboo首页,点击「构建」→「构建结果」
- 搜索框输入项目/计划关键字,筛选条件选择「分支」→「不存在的分支」(不同版本表述可能有差异)
- 勾选目标旧构建,点击顶部「操作」→「删除构建结果」,确认后完成删除
3. 申请调整全局构建保留策略(需管理员权限)
如果多个项目存在同类问题,可申请管理员配置全局规则:
- 管理员进入「Bamboo设置」→「构建结果保留」
- 设置全局默认的构建保留期限,开启「清理已删除分支的构建记录」选项
- 可针对特定项目/计划设置例外规则,避免误删需保留的构建
4. 清理「Promote existing release」中的旧发布记录
针对部署环境的发布残留:
- 进入项目「部署」页面,打开目标环境
- 点击「部署历史」,筛选出标注为已删除分支的发布记录
- 批量勾选后点击「删除」(部分旧版可能需进入单个发布详情页删除)
补充说明
- 删除前务必确认旧记录无保留价值,操作后无法恢复
- 若筛选「不存在的分支」找不到目标,可通过构建名称中的分支关键字手动筛选
- 旧版Bamboo无批量删除功能时,可借助REST API批量处理,示例命令:
# 删除指定计划下已删除分支的构建(替换自己的Bamboo地址、账号和计划KEY) curl -u 账号:密码 -X DELETE "http://your-bamboo-url/rest/api/latest/result/PROJ-PLAN?branchStatus=DELETED&expand=results&max-result=100"
内容的提问来源于stack exchange,提问作者aospovat
相关产品推荐
相关产品推荐

