共计 1710 个字符,预计需要花费 5 分钟才能阅读完成。
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. 通过拷贝文件来实现迁移
如上图所示:
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。
出现的问题:
出现如上情况是因为迁移后的 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
重启生效
正文完