【jenkins】jenkins批量删除job的构建历史

本文介绍如何通过脚本命令行在Jenkins中删除超过指定数量的所有任务构建,并更新下一次构建编号。涉及获取任务名、遍历删除并重置构建计数。

1、点击系统设置->脚本命令行

2、 输入删除脚本,点击运行即可

// 小于最大构建数量,都删除
def maxNumber = 10000
// 获取所有任务名
def jobNames = Jenkins.instance.getJobNames() 
 
// 循环删除
for (def jobName : jobNames) {
  def job = Jenkins.instance.getItemByFullName(jobName)
  job.getBuilds().each{it.delete()}

   // 设置下次从1开始
  job.nextBuildNumber = 1
  job.save()
}

 

### 如何在 Jenkins 中清理或删除构建历史记录 在 Jenkins 中清理或删除构建历史记录可以通过脚本控制台(Script Console)实现。以下是一个通用的解决方案,适用于不同场景下的需求。 #### 使用 Script Console 清理构建历史 Jenkins 提供了一个强大的脚本控制台功能,允许用户通过 Groovy 脚本来执行各种管理任务。以下是清理构建历史的具体方法: 1. **登录 Jenkins** 打开 Jenkins 管理界面,导航到 `Manage Jenkins -> Script Console`。 2. **编写脚本** 根据需要清理的项目名称和保留的最小构建编号,编写并运行以下脚本: ```groovy def jobName = "你的项目名称" // 替换为实际的项目名称 def maxNumber = 100 // 设置保留的最小构建编号,小于该编号的构建将被删除 Jenkins.instance.getItemByFullName(jobName).builds.findAll { it.number <= maxNumber }.each { it.delete() } ``` - `jobName`:指定要清理的项目名称。 - `maxNumber`:设置一个阈值,所有小于等于此编号的构建都将被删除。 3. **运行脚本** 将上述脚本粘贴到 Script Console 中,点击“运行”。稍等片刻后,可以看到清理结果。 4. **验证清理结果** 进入对应的项目页面,检查构建历史是否已被正确清理[^1]。 #### 注意事项 - 在运行脚本之前,请确保备份重要数据,以免误删关键构建记录。 - 如果需要批量清理多个项目的构建历史,可以扩展脚本逻辑,例如遍历所有项目或特定命名规则的项目[^3]。 #### 示例:批量清理多个项目的历史构建 以下脚本可以用于清理多个项目的构建历史: ```groovy // 遍历所有项目 Jenkins.instance.getAllItems(Job.class).each { job -> if (job.name.contains("关键字")) { // 可根据项目名称包含的关键字筛选 def maxNumber = 95 // 设置保留的最小构建编号 job.builds.findAll { it.number <= maxNumber }.each { it.delete() } } } ``` - `job.name.contains("关键字")`:可以根据项目名称中的特定关键字筛选目标项目。 - `maxNumber`:设置每个项目的保留最小构建编号。 #### 常见问题及解决方法 1. **脚本无法找到项目** 确保 `jobName` 的值与 Jenkins 中的实际项目名称完全一致。如果项目位于文件夹中,则需要使用完整路径名称,例如 `文件夹名称/项目名称`[^4]。 2. **清理失败或无响应** 检查 Jenkins 的日志输出,确认是否存在权限或其他错误信息。 3. **保留最新 N 条构建记录** 如果希望保留最新的 N 条构建记录,可以通过以下方式计算 `maxNumber`: ```groovy def keepBuilds = 10 // 保留最新的构建数量 def builds = Jenkins.instance.getItemByFullName(jobName).builds def maxNumber = builds[keepBuilds - 1].number builds.findAll { it.number < maxNumber }.each { it.delete() } ``` #### 总结 通过 Jenkins 的 Script Console 和 Groovy 脚本,可以灵活地清理构建历史记录,释放服务器空间。根据实际需求调整脚本参数,即可实现自动化清理[^2]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿来小同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值