使用jenkins另一个必不可少的配置就是对jenkins的备份。Jenkins的所有的数据都是以文件的形式存放在`${JENKINS_HOME}`目录中。所以不管是迁移还是备份,只需要将`${JENKINS_HOME}`打包后在拷贝,然后将打包的文件解压到新的`${JENKINS_HOME}`目录就行了。备份jenkins的方法有很多种,本文就简单介绍一下常用的备份方法,使用ThinBackup插件。
在插件管理页面找到`ThinBackup`插件,安装即可(如果你不会安装,看一下第二篇的内容吧)。安装完以后,在`manage jenkins`界面会出现`ThinBackup`菜单项,点击进去后进入settings设置界面,进行备份设置。如下所示设置:
配置说明
**Backup directory**:
备份目录,用于存储备份的文件,如果指定的目录不存在,默认在进行备份之前会自动创建。
**Backup schedule for full backups**:
进行备份的计划任务,与linux下的crontab一样,其中上面的H,代表哈希,为了允许定期调度的任务在系统上产生均匀负载,应尽可能使用符号H(用于“散列”)。例如,如果多个job都设置使用`0 0 * * *`将导致负载大幅飙升。相比之下,使用H H * * *仍然会每天执行一次每个job,但不会同时执行,更好地使用有限的资源。
**Backup schedule for differential backups**:
进行差异化备份的计划任务,同上。
**Max number of backup sets**:
备份的最大数量。
**Files excluded from backup (regular expression)**:
不需要进行备份的文件的正则表达式。
**Wait until Jenkins/Hudson is idle to perform a backup**:
等待jenkins空闲多长时间后进行备份。
**Backup build results**:
如果启用此选项,还将备份构建结果,一般不建议勾选此选项。
**Backup 'userContent' folder**:
备份`${jenkins_home}/userContent `目录下的文件。
**Backup next build number file**:
备份jenkins构建的build id文件。
**Backup plugins archives**:
备份插件。
**Clean up differential backups**:
完成备份以后清除所有的差异备份。
**Move old backups to ZIP files**:
如果选中此选项,则无论何时执行新的完整备份,所有旧备份集都将移至ZIP文件。每个ZIP文件将包含一个备份集,即一个完整备份和任何引用该备份文件的差异备份。文件名将标识包含备份的时间范围(即完整备份的时间戳和最新差异备份的时间戳)。
备份策略根据自己实际情况定义即可。
保存后回到`ThinBackup`界面,除了可以自动进行备份外,也可以通过手动备份,点击`Backup Now`按钮就会立即进行备份。如下按钮:
备份完后会在上面设定的备份目录下生成一个以`FULL-`开头,以当前时间(精确到分)为结尾的目录,该目录下就是默认所有的Jenkins配置。
当要使用备份文件进行恢复的时候,点击restore按钮,在跳转的界面中就会显示出该备份文件的备份时间,点击Restore即可。