# 缓存备份与清理说明
用于备份和清理devops中各种增长的缓存数据。
# jenkins构建缓存清理
jenkins为后台引擎,无需备份,故障重装即可
# 构建Job清理
当在DevOps流水线执行中选择了保留了执行Job,会在jenkins安装目录下的work/workspace目录中保留该Job的执行工作空间。
可以通过配置定期清理来清理这些workspace,避免磁盘空间被占满。
例如定期清理超过3天的执行记录的workspace。
# 创建清理脚本
touch /home/jenkins/cleanup.sh
# 给脚本赋予执行权限
chmod +x /home/jenkins/cleanup.sh
# 编辑清理脚本 内容参考下方内容
vi /home/jenkins/cleanup.sh
# 配置定时任务
sudo crontab -e
# 添加以下内容 每天凌晨3点执行清理脚本
0 3 * * * /home/jenkins/cleanup.sh
# 保存退出
:wq
# 查看定时任务
sudo crontab -l
脚本内容如下:
#!/bin/bash
# 定义 Jenkins 工作目录 按实际情况修改
WORKSPACE_DIR="/home/jenkins/jenkins-2.479.3/work/workspace"
# 检查目录是否存在
if [ ! -d "$WORKSPACE_DIR" ]; then
echo "Error: Directory $WORKSPACE_DIR does not exist."
exit 1
fi
# 进入目标目录
cd "$WORKSPACE_DIR" || exit 1
# 查找并删除超过 3 天的目录
find . -type d -mtime +3 -exec rm -rf {} \; 2>/dev/null
# 可选:打印删除的目录(调试用)
# find . -type d -mtime +3 -print -exec rm -rf {} \; 2>/dev/null
echo "Cleanup completed: Directories older than 3 days have been removed."
cron 时间表达式说明:
┌───────────── 分钟 (0 - 59)
│ ┌───────────── 小时 (0 - 23)
│ │ ┌───────────── 日期 (1 - 31)
│ │ │ ┌───────────── 月份 (1 - 12)
│ │ │ │ ┌───────────── 星期几 (0 - 7) (0 和 7 都代表周日)
│ │ │ │ │
* * * * * <要执行的命令>
# 构建依赖保留
如maven构建所需的localRepo等,可以将localRepo等目录也配置到workspace外的公共目录,避免每次构建都需要下载依赖。
以maven构建原子任务为例,在maven构建任务中可以配置setting文件内容,将预设的locaRepo目录填写到文件内容中。

不在原子任务中配置,也可以在项目参数或平台参数中配置,加载优先顺序为:原子任务中配置 > 项目参数 > 平台参数。如果都没有配置,则使用jenkins安装的maven默认setting.xml文件。


