背景:
由于公司服务器已经运行两年了, 而且机器是塔式的, 难以放到机房, 所以刚好把现有的机器替换成刀片式的服务器. 之前Jenkins是1.6.53版本, Gerrit是2.11.3版本. 正好趁着这个机会进行升级版本, Jenkins升级到2.7.31, Gerrit版本升级到2.14.3.
准备:
网上百度了很多方案, 但是靠谱的都比较少, 而且了解到了, Jenkins和Gerrit都做到高版本兼容低版本, 所以整体思路是把老配置直接拿过来使用, 并且为了做到以后升级方便, 把配置相关的文件通过Git管理起来, 方便将来升级Gerrit和Jenkins.
升级:
1 - Gerrit
1: 由于用户登录模块用到反向代理, 所以先安装apache2服务器, 设置好反向代理.
2: Ubuntu建立好Gerrit用户,直接把之前的review_site目录拷贝过来
3: 启动Gerrit, 如果没有意外应该是可以启动的.(这里通过Git可以进行一次备份, 接下来升级失败可以进行回退)
4: 运行命令升级Gerrit
5: 再次启动Gerrit, 基本上应该是成功的, 我碰到Project下某些工程不能访问, 重启下电脑就正常了.(Git再次备份下, 为将来升级留备份)
2 - Jenkins
1: Jenkins比较特别, 先通过命令行安装最新的Jenkins.
2: 拷贝老的Jenkins配置目录, 把新版本的Jenkins的配置目录指向拷贝的地址(Git做好备份)
.
3: 重启Jenkins, 这个时候可以根据Jenkins的log, 消灭下配置中的错误.
4: 理论上也是没有错误需要解决的.(Jenkins起来之后, 也需要做备份)
总结:
迁移之前以为是困难重重, 真正执行起来还是很顺利的, 基本上没碰到不能解决的问题, 出现问题, 可以重启服务试试. 一个晚上就搞定迁移和升级工作, 90%的时间都花在代码和服务器文件的copy上.