不同版本的jenkins迁移合并

废话不多说,直接开始吧:
场景:有新旧两个jenkins,旧的jenkins是2.200版本,上面有80个左右的任务;新的jenkins是2.303版本,上面有40个任务;现在要把旧版的80个任务迁移到新版里面。涉及合并的东西包括:系统配置,缺失的插件,所有的job。

ps:中途看到网上很多人用的job import plugin来合并任务, 我也试了一下,根本导不过来。感觉就是个垃圾插件。

一,先备份,为自己留好后路:

  1. 把旧的jenkins_home目录压缩拷贝到新的jenkins服务器上
  2. 把新的jenkins_home目录压缩备份到其他地方

二,合并配置

  1. 合并账号密码凭证管理配置文件:credentials.xml
  2. 合并sonar服务器实例配置文件:hudson.plugins.sonar.SonarGlobalConfiguration.xml
  3. 合并邮件通知配置文件:hudson.plugins.emailext.ExtendedEmailPublisher.xml
    ps:如果在旧版里面有其他配置,都要找到相关的配置文件合并过去,如果发现新版里面没有相关的配置,那应该就是缺失相关的插件,就要找到并安装对应的插件。

三,合并job

  1. 先建一个文件夹叫old-task,准备把迁移的任务都放里面
    不同版本的jenkins迁移合并_第1张图片
  2. 拷贝旧$JENKINS_HOME/jobs下面的所有目录拷贝到新$JENKINS_HOME/jobs/old-task/jobs目录下
  3. 重启jenkins:http://ip:port/restart
  4. 点击系统管理,看到提示:您的存储中有无法读取或者旧的数据格式,如图:
    不同版本的jenkins迁移合并_第2张图片
    点击管理,再点击丢弃不可读数据
    不同版本的jenkins迁移合并_第3张图片
  5. 回到界面,打开old-task文件夹,可以看到任务已经都出现了,点开其中一个,和源版界面的任务对比一下,看看有没有配置缺失,如果有就是缺失插件,就要重新安装相关的插件,如果该插件新版不支持了,那就要修改job换种配置方式(只是修改,总比重新配80个任务要节约大部分时间了吧)。然后测试一下,看看有没有问题,如果配置缺了,就回到第二步合并配置步骤操作。

ps:好像没有问题了,如果有问题的话,麻烦留言,一起学习一下

你可能感兴趣的:(jenkins,运维,java)