Jenkins简单的迁移方法

简单的方法有很多但是找到最合适的确不一定容易,整机迁移,资源回缩与扩容调整配置,更多的人碰到的情况各不相同,想要找到适合自己需求的方法,需要了解内部运行原理。

下面介绍2种最基本的方法来提供思路

1. ESXI中scp拷贝虚拟机文件方式

首先你的ESXI主机需要开启ssh服务,通过ssh连接到主机上

[root@xxx-v50:~] df -hFilesystem   Size   Used Available Use% Mounted onVMFS-5       2.4T   1.6T    820.0G  67% /vmfs/volumes/datastore1 (3)vfat       249.7M   8.0K    249.7M   0% /vmfs/volumes/cd1add72-c036fbf4-a2a7-1ea5b82e2b9dvfat         4.0G  29.6M      4.0G   1% /vmfs/volumes/574d7319-7cd8e47f-98fb-1418775d62c8vfat       249.7M 161.6M     88.2M  65% /vmfs/volumes/68306575-75d8013d-0da6-15adcae7400evfat       285.8M 206.2M     79.6M  72% /vmfs/volumes/574d72df-d3761c90-16ff-1418775d62c8[root@xxx-v50:~] cd /vmfs/volumes/datastore1\ \(3\)/[root@xxx-v50:/vmfs/volumes/574d730f-1cc9828a-d6e2-1418775d62c8] ls168-Linux-node-sit          203-linux-uat-java-farme-A  204-linux-uat-java-farme-B  208-linux-uat-java-app-A    209-linux-uat-java-app-B    63-win2012_sit_node         Jenkins-69-new              iso[root@xxx-v50:/vmfs/volumes/574d730f-1cc9828a-d6e2-1418775d62c8] scp -r  Jenkins-69-new root@192.168.0.60:/vmfs/volumes/datastore1

这种方法最省心,缺点是虚拟机比较大拷贝传输的时间长,如果有vcenter直接复制即可。

2.通过拷贝文件来实现迁移

如上图所示:
jobs //存放的job信息
config.xml //权限,分组,项目,结构等配置信息
plugins //插件文件
users //用户文件

首先需要下载个同版本的war包或者其他的安装文件
然后配置好环境变量:

export HISTTIMEFORMAT="%F %T `whoami` "JAVA_HOME=/data/skong-javaCLASSPATH=.:$JAVA_HOME/lib/tools.jarPATH=$JAVA_HOME/bin:$PATHexport JAVA_HOMEexport CLASSPATHexport PATHPATH=/data/skong-node/bin:$PATHexport PATHexport MAVEN_HOME=/usr/local/apache-maven-3.3.9**export JENKINS_HOME=/data/jenkins**

安装Jenkins时什么插件都不安装,安装好了之后吧如上目录文件覆盖的相应位置,重启Jenkins。

出现的问题:

出现如上情况是因为迁移后的Jenkins找不到之前的构建信息。(不影响正常构建)

还会出现的问题就是例如svn凭证在这里不能使用需要批量替换,svn等凭证id在jobs目录中每个项目的config.xml中

[root@jenkins-65 jobs]# pwd/data/jenkins/jobs[root@jenkins-65 jobs]# sed -i 's/bdc76605-1ee2d-b5e7-afdc9ab3a2/a81b0629-d918-4ef8-a5d4-b25476b/g' ./*/config.xml

重启生效