将老服务器jenkins主目录下的config.xml文件以及jobs、users、workspace、plugins四个目录拷贝到新机器的jenkins主目录下。如果没有plugins这个插件,就会导致有些job查找不到了。
拷贝4个目录
在jenkins的数据卷目录下面,需要拷贝jobs、users、workspace、plugins四个目录,才可以完成升级任务
常见问题
1、You have data stored in an older format and/or unreadable data.
出现这个问题,就是由于没有导入以前plugins目录,导致没有找到类,所以才报错了,解决方案,就是查看报啥错,然后安装对应的插件。
2、There appears to be a large number of jobs. Did you know that you can organize your jobs to different views? You can click ‘+’ in the top page to create a new view any time.
这个意思是说,你要自己建立一个视图,这个不是报错,所以无所谓了。
sudo: cd: command not found
那就是sudo su 或者sudo -sH 默认缺省为获取root 用户
迁移步骤为:
1)先关闭新老服务器的tomcat程序,确保迁移时新老机器的jenkins都处于关闭状态。jenkins程序关闭最好是直接kill掉jenkins的tomcat程序pid。
2)将老服务器jenkins主目录下的config.xml文件以及jobs、users、workspace、plugins四个目录拷贝到新机器的jenkins主目录下。
3)重启新服务器jenkins的tomcat程序。
迁移的时候可以直接将jenkins主目录数据整个拷贝过去,也可以单独拷贝jenkins主目录下的config.xml文件以及jobs、users、workspace、plugins四个目录(这是主要的迁移数据)。一般来说,手动设置好jenkins主目录路径,启动jenkins后就会自动生成(但要确保jenkins用户有权限创建这个主目录,最好是提前手动创建并赋予jenkins启动用户的权限)
关闭老机器的jenkins程序
[root@code-server ~]# lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bundle 13481 git 15u IPv4 2839661 0t0 TCP localhost:webcache (LISTEN)
[root@code-server ~]# kill -9 13481
新机器的jenkins程序也要同样关闭
拷贝老服务器的jenkins主目录或者上面说的那几个重要数据到新机器的jenkins主目录下
[root@code-server ~]# rsync -e "ssh -p22" -avpgolr --delete /data/jenkins/ root@10.0.8.60:/data/jenkins/
或者
[root@code-server ~]# rsync -e "ssh -p22" -avpgolr /data/jenkins/config.xml root@10.0.8.60:/data/jenkins/
[root@code-server ~]# rsync -e "ssh -p22" -avpgolr --delete /data/jenkins/users/ root@10.0.8.60:/data/jenkins/users/
[root@code-server ~]# rsync -e "ssh -p22" -avpgolr --delete /data/jenkins/plugins/ root@10.0.8.60:/data/jenkins/plugins/
[root@code-server ~]# rsync -e "ssh -p22" -avpgolr --delete /data/jenkins/jobs/ root@10.0.8.60:/data/jenkins/jobs/
[root@code-server ~]# rsync -e "ssh -p22" -avpgolr --delete /data/jenkins/workspace/ root@10.0.8.60:/data/jenkins/workspace/
尤其是plugins目录,最好保证新机器下的这个目录和老机器下的这个目录数据保持一致。否则容易造成新机器的jenkins访问报错
最后启动新机器的jenkins服务
[root@jenkins01 ~]$ /data/tomcat8.5/bin/startup.sh
[app@jenkins01 ~]$ lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 101037 app 46u IPv6 498942 0t0 TCP *:webcache (LISTEN)
参考文章
https://www.cnblogs.com/topplay/p/3899330.html
https://www.cnblogs.com/kevingrace/p/8076488.html
https://www.cnblogs.com/kevingrace/p/8076488.html
网友评论