Jenkins垃圾清理指南

文章目录

  • [1. Jenkins是什么](#1. Jenkins是什么)
  • [2. 哪些部分容易产生垃圾](#2. 哪些部分容易产生垃圾)
  • [3. Jenkins垃圾清理方案](#3. Jenkins垃圾清理方案)
    • [3.1 单Job配置:自动清理旧构建](#3.1 单Job配置:自动清理旧构建)
    • [3.2 全局统一清理:Slicing插件批量操作](#3.2 全局统一清理:Slicing插件批量操作)
    • [3.3 本地缓存清理](#3.3 本地缓存清理)
  • [4. 空间预警](#4. 空间预警)

1. Jenkins是什么

Jenkins是一款开源的持续集成与持续交付(CI/CD)工具,广泛用于自动化构建、测试和部署。

它通过插件化架构支持多种开发语言和工具链,能够串联代码提交、编译打包、质量检测等流程,是DevOps领域的核心组件之一。

2. 哪些部分容易产生垃圾

Jenkins在运行过程中,以下三类数据会快速占用磁盘空间:

  • 构建历史(Build History)

    每次构建生成的日志会保留在$JENKINS_HOME/jobs/[Job名称]/builds目录中,长期积累可能导致单项目占用很大空间。

  • 工作空间(Workspace)

    每个Job的构建过程会在workspace目录拉取代码并生成临时文件(如编译中间文件、依赖缓存)。若未清理,可能堆积大量冗余数据。

3. Jenkins垃圾清理方案

3.1 单Job配置:自动清理旧构建

在单独Job设置,防止构建历史无限增长。

  • 操作步骤

    1. 进入Job配置页面 → 勾选 "丢弃旧的构建"
    2. 设置保留策略(示例):
      • 保留最近10次构建(防止回滚需求)
      • 保留最近30天内的构建(避免长期占用空间)
    • 优点:无需插件,配置简单。
    • 缺点:需为每个Job单独设置,不适合大规模实例。

3.2 全局统一清理:Slicing插件批量操作

通过插件 Job Configuration Slicing,批量管理所有Job的构建保留策略。

  • 操作步骤

    1. 安装插件:
      • Jenkins管理 → 插件管理 → 搜索安装 Job Configuration Slicing
    2. 批量配置:
      • 进入 Manage Jenkins → Job Configuration Slicing
      • 选择 "Discard old builds" 策略 → 设置全局保留规则(如保留7天)。
      • 点击 "Slice" 应用至所有Job。
    • 优点:一键生效,适合数百个Job的实例。
    • 注意:需提前备份配置,避免误操作。

3.3 本地缓存清理

针对插件或构建工具的本地缓存,需根据项目技术栈编写清理脚本。

  • 建议:将脚本加入构建后操作(Post-build Actions),实现自动化清理。

4. 空间预警

在分布式构建环境中,Agent节点可能因内存不足导致任务失败。

建议配置Jenkins系统监控预警, 选择节点->配置

相关推荐
952366 小时前
RabbitMQ-基础操作
java·spring boot·分布式·后端·spring·rabbitmq
卓怡学长6 小时前
w266基于spring boot + vue 圣地延安美食乐享系统
java·数据库·vue.js·spring boot·spring·intellij-idea
云飞云共享云桌面6 小时前
单机建模卡顿运维繁琐!中小型机械制造厂云飞云 3D 云桌面落地
运维·服务器·网络·3d·自动化·电脑·负载均衡
C++、Java和Python的菜鸟7 小时前
第7章 Java高级技术
java·开发语言
程序员佳佳7 小时前
模型网关灰度不是调百分比:把放量、观测和回滚做成账本
java·数据库·人工智能·redis·gpt·aigc·embedding
zandy10117 小时前
体验家 XMPlus 批量操作与自动化工作流引擎:让大规模运营从手动执行走向规则驱动
大数据·运维·自动化
Listen·Rain8 小时前
Springboot整合Ollama实现调用本地多模型
java·spring boot·后端
霸道流氓气质8 小时前
Java 工程师 AI 智能体(Agent)完整学习路线
java·人工智能·学习
aaPIXa6228 小时前
C++模板元编程:编译期计算Fibonacci数列
java·开发语言·c++
Sagittarius_A*8 小时前
Docker:渗透前置容器化核心基础
运维·安全·docker·容器