文章目录

  • 一、场景描述
  • 二、应用备份
  • 三、应用还原


一、场景描述

  在自动化过程中,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、一些启动调优的信息
二、应用备份
  • 备份方案一:手动备份
  1. 通过步骤一可以了解到,Jenkins 启动的一些基础目录
  2. 手动备份 lib 文件目录即可
# 进入 lib 文件夹
cd /var/lib

# 手动备份(对该目录下的所有文件进行打包)
tar -cvf jenkins.tar .jenkins/*
  1. 保存 jenkins.tar 即可
  • 备份方案二:自动备份
  1. ThinBackupJenkins 备份还原 Jenkins 配置的插件
  2. 安装 ThinBackup 插件
    登录 Jenkins → 系统管理 → 插件管理 → 可选插件 → 在 过滤 栏输入 ThinBackup
  3. 安装好的 ThinBackup 插件可以在 系统管理ThinBackup
  4. Jenkins 服务器创建备份目录
# 创建保存备份配置的文件夹
mkdir -p /data/backup

# 由于 Jenkins 配置了启动用户为 jenkins 为方便 Jenkins 有权限访问该文件夹,需要为该文件夹赋权
chown -R jenkins:jenkins /data/backup
  1. 配置 ThinBackup 相关信息,保存的路径,多久备份一次
  2. 点击 Backup Now 开始备份(备份成功与否没有界面提示,可以到目录中去查看)

jenkins 备份文件 jenkins备份恢复_Jenkins

三、应用还原
  • 还原方案一:手动备份还原
  1. 安装 Jenkins ,以 rpm 安装包为例
    为防止插件不兼容的情况,建议安装的 Jenkins 和备份的 Jenkins 版本一致
  2. 停止 Jenkins
systemctl stop jenkins
  1. 将备份的 jenkins.tar 文件解压到 /var/lib 文件夹下
tar -xvf jenkins.tar
  1. 如果不想保留之前备份的源码包(warjar 工程),可以删除 workspace 目录下的所有内容
cd /var/lib/jenkins/workspace

rm -rf *
  1. 重启 Jenkins 服务
systemctl restart jenkins
  • 还原方案二:自动备份还原
  1. 安装 Jenkins
  2. Jenkins 中安装 ThinBackup 插件
  3. 进入 ThinBackup 插件并设置备份还原的目录
  4. 点击还原
  5. 选择还原日期