Jenkins简单的迁移方法

0

Jenkins简单的迁移方法

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

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

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

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


[root@xxx-v50:~] df -h
Filesystem   Size   Used Available Use% Mounted on
VMFS-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-1ea5b82e2b9d
vfat         4.0G  29.6M      4.0G   1% /vmfs/volumes/574d7319-7cd8e47f-98fb-1418775d62c8
vfat       249.7M 161.6M     88.2M  65% /vmfs/volumes/68306575-75d8013d-0da6-15adcae7400e
vfat       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] ls
168-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.通过拷贝文件来实现迁移

clipboard.png

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

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


export HISTTIMEFORMAT="%F %T `whoami` "
JAVA_HOME=/data/skong-java
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME
export CLASSPATH
export PATH
PATH=/data/skong-node/bin:$PATH
export PATH

export MAVEN_HOME=/usr/local/apache-maven-3.3.9
**export JENKINS_HOME=/data/jenkins**

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

出现的问题:

clipboard.png

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

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

clipboard.png

clipboard.png

clipboard.png


[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

[root@jenkins-65 jobs]# java -jar /data/jenkins-cli.jar -auth admin:0xxxxx -s http://192.168.0.69:8080/ copy-job DEV-cdp_delivery_home_center_logic DEV-biz_order_process_center_logic_api
复制原有项目

重启生效

你可能感兴趣的

载入中...