NO.99 Jenkins1.65升级至Jenkins2.88操作记录

2年前搭建了一套Jenkins1.6,部署方式为Linux的Master挂一台Win的Slave。
我公司网络老是不稳定,jenkins master和slave的 Connection reset by peer那个大坑就怕这事儿,一连不上slave各个项目组就“稻花香里说丰年,听取蛙声一片”。
因此着手准备决定另搭一套只有Win Master的Jenkins环境,捎带把Jenkins升到2.X。

把整个过程简单梳理一下:

【准备】
1. 新服务器:一台win2008 4C8G(C:30G D:470G);
2. 防火墙:跟源码服务器开墙,跟所有应用测试环境开墙,跟系统数据库服务器开墙,跟版本配置库服务器开墙;
3. 下载好Jenkins2.88的war包;
4. Jenkins容器从Tomcat7升级至Tomcat8,安装好(安装目录见下说明);
5. 安装好周边应用搭建:JDK5678\ant\maven\sonar\sonar_runner\TEE等等,不多说;

【原目录结构】
/jenkins
--/jenkins_home
--/tomcat7
--startJenkins.sh
--stopJenkins.sh
--showlog.sh

【新目录结构】
d:/jenkins2
--/jenkins_home
--/tomcat8
--startJenkins.cmd

【搭建过程】
重点: Jenkins1.X的哪些目录要拷贝过来?
1. 先不要迁移任何jenkins1的jenkins_home下的内容!
2. 启动Jenkins2,它会自动下载一些组件;待正常启动后,压缩Jenkins_home做个备份,当后续升级失败时,以便回滚。另外,建议每升级一个地方成功了,就备份一次;
3. 停掉Jenkins2,将原Jenkins1的jenkins_home下的 除了plugins目录的内容全部覆盖过来,(原因:Jenkins2.88的插件和Jenkins1.6的差异有点大,我试了全移过来,就启动不起来了)
4.由于原来所有的任务都在BuildNode1_1的salve节点执行,因此需要将JOB目录中的所有文本中的BuildNode_1 替换为 master;
5.删掉jenkins_home/jobs下所有的含有last关键词的快捷目录(如果不删除虽然不影响Jenkins启动,但后台报一堆错误,任务多则影响启动速度);
6 启动,如果有问题,优先回滚jenkins_home/config.xml,然后用文本对比工具逐个将用户权限部分迁移;
7. 通过对比原Jenkins1的已安装组件重新补齐组件;

【Jenkins的用户及授权配置信息】
1. 用户信息在D:\jenkins2\jenkins_home\users
2. 授权信息在D:\jenkins2\jenkins_home\config.xml中所有<permission></permission>标签的内容


【一些其它新学到的东东】
1. 迁移任务原来不需要重启Jenkins
只需要将原任务目录,如/jenkins_home/jobs/ABC ,拷贝到新服务器/jenkins_home/jobs/ABC,然后点击“系统管理”-“读取配置”即可;
2. Jenkisn2.0默认没有开启slave节点的“通过Java web启动”
“系统管理”-“全局安全配置”-在Agent配置部分,开启 TCP port for JNLP agents


猜你喜欢

转载自blog.csdn.net/amosryan/article/details/78625486
99