废话不多说,直接开始吧:
场景:有新旧两个jenkins,旧的jenkins是2.200版本,上面有80个左右的任务;新的jenkins是2.303版本,上面有40个任务;现在要把旧版的80个任务迁移到新版里面。涉及合并的东西包括:系统配置,缺失的插件,所有的job。
ps:中途看到网上很多人用的job import plugin来合并任务, 我也试了一下,根本导不过来。感觉就是个垃圾插件。
一,先备份,为自己留好后路:
- 把旧的jenkins_home目录压缩拷贝到新的jenkins服务器上
- 把新的jenkins_home目录压缩备份到其他地方
二,合并配置
- 合并账号密码凭证管理配置文件:credentials.xml
- 合并sonar服务器实例配置文件:hudson.plugins.sonar.SonarGlobalConfiguration.xml
- 合并邮件通知配置文件:hudson.plugins.emailext.ExtendedEmailPublisher.xml
ps:如果在旧版里面有其他配置,都要找到相关的配置文件合并过去,如果发现新版里面没有相关的配置,那应该就是缺失相关的插件,就要找到并安装对应的插件。
三,合并job
- 先建一个文件夹叫old-task,准备把迁移的任务都放里面
- 拷贝旧$JENKINS_HOME/jobs下面的所有目录拷贝到新$JENKINS_HOME/jobs/old-task/jobs目录下
- 重启jenkins:http://ip:port/restart
- 点击系统管理,看到提示:您的存储中有无法读取或者旧的数据格式,如图:
点击管理,再点击丢弃不可读数据
- 回到界面,打开old-task文件夹,可以看到任务已经都出现了,点开其中一个,和源版界面的任务对比一下,看看有没有配置缺失,如果有就是缺失插件,就要重新安装相关的插件,如果该插件新版不支持了,那就要修改job换种配置方式(只是修改,总比重新配80个任务要节约大部分时间了吧)。然后测试一下,看看有没有问题,如果配置缺了,就回到第二步合并配置步骤操作。
ps:好像没有问题了,如果有问题的话,麻烦留言,一起学习一下