迁移步骤为:
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)