需求
公司的整个测试环境正式环境打包都是用的同一个Jenkins
, 该Jenkins
是搭建在内部的一台机器上,之前有一台机器的硬盘出了问题,为了安全起见,我们决定备份 Jenkins
的配置和数据。
操作:
- 在一台机器上搭建
nfs
, 挂载在Jenkins
的机器上。 - 在
Jenkins
的机器上安装插件进行备份。(本文的主要内容)
一 、选择插件
我们输入 Backup 后,会发现有两个 插件
- Backup
- ThinBackup
我们这边选用的是 ThinBackup
, 安装这个。
二、使用 ThinBackup 插件
官方文档介绍: https://plugins.jenkins.io/thinBackup
安装好ThinBackup
之后,在 系统管理界面,拉到下面,我们就可以找到 ThinBackup
.
点进去,我们可以看到有三个配置。
- Backup Now 现在立即备份。
- Restore 导入配置
- Settings 备份配置
我们开始需要了解的是:Settings
.
Backup directory 设置备份的目录,注意运行 jenkins 的目录要对它有写的权限。
Backup schedule for full backups 设置定时任务,Example:
0 12 * * 1-5 Executes on 12:00 every weekday (Mo-Fr)
Backup schedule for differential backups 设置差异化备份的计划,也就是增量备份,仅仅存储上一次完整备份的之后的更改部分。 对于增量备份,我们必须要有一个完整备份。
Max number of backup sets 备份的最大数量数,默认为 -1.表示无限制。
Files excluded from backup (regular expression) 备份需要排除的目录。
Wait until Jenkins/Hudson is idle to perform a backup 等待 jenkins 进入“Quiet Mode”(安静模式)的时候去进行备份。安静模式期间不处理任何任务。 建议勾选。
Force Jenkins to quiet mode after specified minutes : 最长等待进入安静模式的时间,当超过这个时间,就会强制进入 安静模式。
Backup build results 备份构建的结果,这个可能会产生大量的数据。占用磁盘会比较大。
Backup build archive 只有勾选了 Backup build results 才会出现这个选项。备份存档,
Backup only builds marked to keep 如果勾选此项,只备份被标记为 `Keep this build forever` 的上的构建结果。只有勾选了 Backup build results 才会出现这个选项。
Backup 'userContent' folder 如果启用该备份,userContent 目录($JENKINS_HOME/userContent)将会备份。 如果有软链接部分,不能备份该内容。
Backup next build number file 如果启用该项,则 nextBuildNumber 也会进行备份。
Backup plugins archives 启用该项的话,会进行备份插件存档。
Backup additional files 备份特定的文件,可以通过正则进行匹配。
Clean up differential backups 如果启用了该选项的话,在执行完整备份的时候,会删除差异化备份。
Move old backups to ZIP files 将老的备份文件进行压缩。
- 如果我们不勾选任何 参数,不勾选 Backup build results(默认勾选的),默认备份的内容包含 : 用户信息(dongjiaxiao/config.xml),工程信息(config.xml,svnexternals.txt) 等。
- 如果我们勾选 Backup build results(默认勾选的) 会在 工程信息目录下(jobs/xxx/builds) 会有各个执行编号的输出和配置文件内容。
- 如果我们勾选 Backup plugins archives 会在备份目录下多一个 plugins 目录,里面包含着我们安装的插件。
- 如果我们勾选 Backup 'userContent' folder 就是多备份 $JENKINS_HOME/userContent下 的内容。 多个备份目录 userContent。
- 如果我们勾选 Move old backups to ZIP files 会对之前备份文件进行压缩。
定时器不生效
当我配置好了计划任务后,发现定时器不生效。需要重启 jenkins ,在重启 jenkins 之后,我们可以发现定时器生效了。