文章目录
- 一、场景描述
- 二、应用备份
- 三、应用还原
一、场景描述
在自动化过程中,Jenkins
的环境从无到有的搭建难道不大,但是比较耗时。一般科技公司的开发模式是分开发、测试、生产环境的,不同的环境的自动化过程需要相互隔离。所以,搭建 Jenkins
的环境就需要好几套。
我们是否可以考虑,在开发环境创建的 Jenkins
直接克隆到别的环境中,省去中间各种插件安装、配置的重复过程。
这里采用 rmp
安装为例,在开发环境搭建好以后,我们通过查看 Jenkins
的进行,可以看到启动过程中的奥妙
- 启动配置
# 查看 Jenkins 的启动配置
[root@jenkins ~]# ps -ef | grep jenkins
avahi 874 1 0 8月31 ? 00:00:00 avahi-daemon: running [jenkins.local]
root 9788 9698 0 08:50 pts/0 00:00:00 tail -f jenkins.log
root 11642 10594 0 10:28 pts/1 00:00:00 grep --color=auto jenkins
jenkins 12017 1 1 8月31 ? 00:16:29 /usr/local/jdk1.8.0_251/bin/java -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --httpPort=8006 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 --prefix=/jenkins
[root@jenkins ~]#
- 信息提取
通过以上进程的查看,可以得到如下信息
1、log 文件目录:/var/log/jenkins/jenkins.log
2、lib 文件目录:/var/lib/jenkins
3、Jenkins项目:/usr/lib/jenkins/jenkins.war
4、Jenkins缓存目录:/var/cache/jenkins/war
5、一些启动调优的信息
二、应用备份
- 备份方案一:手动备份
- 通过步骤一可以了解到,
Jenkins
启动的一些基础目录 - 手动备份
lib
文件目录即可
# 进入 lib 文件夹
cd /var/lib
# 手动备份(对该目录下的所有文件进行打包)
tar -cvf jenkins.tar .jenkins/*
- 保存
jenkins.tar
即可
- 备份方案二:自动备份
ThinBackup
是Jenkins
备份还原Jenkins
配置的插件- 安装
ThinBackup
插件
登录Jenkins
→ 系统管理 → 插件管理 → 可选插件 → 在过滤
栏输入ThinBackup
- 安装好的
ThinBackup
插件可以在系统管理
→ThinBackup
- 在
Jenkins
服务器创建备份目录
# 创建保存备份配置的文件夹
mkdir -p /data/backup
# 由于 Jenkins 配置了启动用户为 jenkins 为方便 Jenkins 有权限访问该文件夹,需要为该文件夹赋权
chown -R jenkins:jenkins /data/backup
- 配置
ThinBackup
相关信息,保存的路径,多久备份一次 - 点击
Backup Now
开始备份(备份成功与否没有界面提示,可以到目录中去查看)
三、应用还原
- 还原方案一:手动备份还原
- 安装
Jenkins
,以rpm
安装包为例
为防止插件不兼容的情况,建议安装的Jenkins
和备份的Jenkins
版本一致 - 停止
Jenkins
systemctl stop jenkins
- 将备份的
jenkins.tar
文件解压到/var/lib
文件夹下
tar -xvf jenkins.tar
- 如果不想保留之前备份的源码包(
war
jar
工程),可以删除workspace
目录下的所有内容
cd /var/lib/jenkins/workspace
rm -rf *
- 重启
Jenkins
服务
systemctl restart jenkins
- 还原方案二:自动备份还原
- 安装
Jenkins
- 在
Jenkins
中安装ThinBackup
插件 - 进入
ThinBackup
插件并设置备份还原的目录 - 点击还原
- 选择还原日期