Jenkins系统如何进行数据备份
作者:心如光
要对 Jenkins 系统进行备份,本质上是对 Jenkins 的文件和目录进行备份,如果没有做特殊设置的话也就是 Jenkins 的安装目录 /var/jenkins_home,知道这个原理后就简单了,我们可以写个 Shell 脚本,在脚本中对 Jenkins 目录进行打包存档,然后添加一个系统定时任务,定期执行 Shell 脚本来存档 Jenkins 目录,需要进行恢复的时候就用存档的内容全部覆盖到 Jenkins 目录。还有一种方式就是利用 Jenkins 的备份插件,安装好 Jenkins 的备份插件后进行一些简单设置,备份插件就会定期对 Jenkins 系统进行备份,需要恢复的时候还是在插件的设置界面进行恢复操作。
第一种方式,采用 Shell 脚本备份 Jenkins 目录,利用 tar 命令归档打包文件,如果想要排除某些文件和目录可以追加 exclude 指令。
#!/usr/bin/env bash # 指定Jenkins的安装目录路径 jenkins_home='jenkins_home_path' current_date=$(date '+%Y%m%d') cd $jenkins_home || exit # 按日期备份 tar -cvzf ../jenkins_home_"$current_date".tar *
第二种方式,采用 Jenkins 插件备份 Jenkins 系统。在 Jenkins 的可选插件中搜索 backup 关键词,看到只有如下几个插件可选:
对比了这几个备份插件,目前就只有这两个还在维护,Periodic Backup 、ThinBackup,其他的最后一次发布都是好几年之前了,并且也只有 Periodic Backup 和 ThinBackup 插件的备份内容比较全面,其他的都只是备份 Jenkins 的配置文件。经过我的使用体验后发现 Periodic Backup 和 ThinBackup 插件的设置也是比较相似的。我这个就演示下 Periodic Backup 插件的使用。
安装 Periodic Backup 插件后在 Jenkins 的【系统管理】中会多出一个【Periodic Backup Manager】选项。
备份插件设置,主要是设置备份文件的存储位置和存储格式,以及备份频率和要忽略的文件及文件夹。因为备份时会占用 CPU,我们这里将【Backup schedule (cron) 】设置在每天午夜执行备份操作,这里的 schedule 设置支持标准的 cron 表达式。在【Excludes list】选项中设置要忽略的文件或者文件夹,用英文符号 ; 分割:
*.log;workspace;*.jar;*.zip;*.gz;node_modules;*.hprof;*.apk;*.ipa;*.aar
全部设置如下图:
设置好后可以点击【Backup Now!】立即备份一下,也可以等着每天午夜备份插件自动备份。备份后在【Periodic Backup Manager】插件页面可以看到已有的备份,如果需要恢复,选择一个时间节点的备份文件进行【Restore selected backup】恢复即可。
还有一种方式来备份 Jenkins 的文件目录,那就是 Git 仓库,我们可以把 Jenkins 的整改文件目录当作一个 Git 代码仓库,将文件提交到 Git 代码仓库,然后再推送到远程的 Git 服务器,这也是一种不错的备份方式,有兴趣的可以试试。
以上就是Jenkins系统如何进行数据备份的详细内容,更多关于Jenkins系统数据备份的资料请关注脚本之家其它相关文章!
您可能感兴趣的文章:
- 新手必看docker安装jenkins详细教程
- 帮你快速上手Jenkins并实现自动化部署
- python使用jenkins发送企业微信通知的实现
- Jenkins+Docker持续集成的实现
- jenkins+gitlab+nginx部署前端应用实现
- 关于Jenkins + Docker + ASP.NET Core自动化部署的问题(避免踩坑)
- 基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境的详细教程
- 使用jenkins一键打包发布vue项目的实现
- 使用Jenkins Dashboard插件可视化部署的方法
- 使用jenkins部署springboot项目的方法步骤
- 关于jenkins插件下载失败的解决方法
- Windows环境下实现Jenkins部署的教程详解