Jenkins插件及配置如何迁移与备份(不依赖控制台及插件)
前言
学习和使用Jenkins也有很长一段时间了。最近有一台新服务器要重新搭建一套Jenkins。虽然环境好装,但是由于是内网环境,插件只能通过·Jenkins控制台上一个一个导入,插件的依赖关系真是千丝万缕。想想上次安装的惨痛经历,但是换一种方式吧。
1、迁移/备份Jenkins的思路
这次我采用的办法是把之前的Jenkins核心配置文件及文件夹直接打包拷贝到另一台服务器上。
2、关闭服务
先将新旧Jenkins服务全部关闭。
1)如果你是在tomcat下启动的Jenkins,在tomcat的bin目录下执行shutdown.sh脚本进行关闭。
2)如果你是通过java -jar启动的,那么通过 ps -ef | grep ‘jenkins’
找到Jenkins对应的进程号,然后kill掉。
3、找到Jenkins核心配置文件并打包
Jenkins核心配置文件一般都在Jenkins工作目录下。可以从/etc/profile中查看你的工作目录JENKINS_HOME配置在什么地方。
找到后我们主要关注这四部分内容。
config.xml
/users/
/plugins/
/workspace/
/jobs/
如果我们只想要里面的插件配置。
可只拷贝打包这三个:
config.xml
/users/
/plugins/
如果想要所有的配置,包括配置的流水线内容,编译后的项目等等则将那五个内容都拷贝打包。
打包命令为:
tar -zxvf 打包名称.tar.gz file1 dir1 dir2 ...
4、传输到新机器上并解压
打包完成后将xx.tar.gz包传输到新机器上的Jenkins工作目录下,并解压。解压命令为:
tar -zcvf 打包名称.tar.gz
5、重启Jenkins
按照你之前的方式重启Jenkins即可。
1)启动tomcat的bin目录下的startup.sh
2) jar -jar方式
以下为我启动的命令,支持将启动日志打印到nohup文件内,仅供参考。
nohup java -jar -DJENKINS_HOME=/xxx/xxx/jenkins.war --httpPort=8999 &
6、验证
再次进入Jenkins控制台,如打开插件,即可看到之前的配置已经迁移过来了。
注:如果两台机器的jdk,git,maven配置目录不一致,需要在Jenkins控制台上重新调整。