文章目录
- 1. Jenkins是什么
- 2. 哪些部分容易产生垃圾
- 3. Jenkins垃圾清理方案
- 3.1 单Job配置:自动清理旧构建
- 3.2 全局统一清理:Slicing插件批量操作
- 3.3 本地缓存清理
- 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设置,防止构建历史无限增长。
- 操作步骤:
- 进入Job配置页面 → 勾选 “丢弃旧的构建”。
- 设置保留策略(示例):
- 保留最近10次构建(防止回滚需求)
- 保留最近30天内的构建(避免长期占用空间)
- 优点:无需插件,配置简单。
- 缺点:需为每个Job单独设置,不适合大规模实例。
3.2 全局统一清理:Slicing插件批量操作
通过插件 Job Configuration Slicing
,批量管理所有Job的构建保留策略。
- 操作步骤:
- 安装插件:
- Jenkins管理 → 插件管理 → 搜索安装 Job Configuration Slicing。
- 批量配置:
- 进入 Manage Jenkins → Job Configuration Slicing。
- 选择 “Discard old builds” 策略 → 设置全局保留规则(如保留7天)。
- 点击 “Slice” 应用至所有Job。
- 优点:一键生效,适合数百个Job的实例。
- 注意:需提前备份配置,避免误操作。
- 安装插件:
3.3 本地缓存清理
针对插件或构建工具的本地缓存,需根据项目技术栈编写清理脚本。
- 建议:将脚本加入构建后操作(Post-build Actions),实现自动化清理。
4. 空间预警
在分布式构建环境中,Agent节点可能因内存不足导致任务失败。
建议配置Jenkins系统监控预警, 选择节点->配置