公司内部gitlab-ce版本升级记录


原来系统中使用的gitlab版本为8.3.1有多老就不说了,现在官方最新的版本为:11.0.3;跨过了三个大版本了,中间的小版本随便都有几十个。这次升级说容易也不容易,说难也不难就是麻烦;官方没有直接说升级到最新版的方法,这里也是为了保证数据安全,一步步来慢慢升级。

 

使用官方的源可能比较慢,可以使用国内的源:

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum

 

升级方法:先升级到当前大版本最后一版(这里是我的建议,一般差不多最后几版就可以了),接下来就是跨大版本的升级,先从大版本的低版升级,再到最后版本升级,以此类推; 因为我中间尝试过直接跨太多个版本升级,出现过异常,其实主要是数据库的数据导入备份问题,如果新版本跟旧版相关太大的话就会报错了。

 

我的升级过程:

 

  1. 8.3.1-->8.3.7-->8.8.5-->8.17.4-->9.5.6-->10.0.6-->10.8.5-->11.0.3 

 

过程很长,同时也做了简单的测试,比如:项目备份的数据的是否有异常,用户信息,响应速度等等,个人认为还是比较靠普的。其实只要我们之前有升级过就不会现在这样了,一下子从这么低的版本升级上来。一般建议保持在相同的大版本号就好了。太新可能也会有Bug,太旧了也会有很多历史遗留的问题。

升级完成后你会发现多了好几个进程。可能会对系统硬件要求更高了,比如内存会要求更高了。

 

  1. [root@gitlab883 ~]# gitlab-ctl stop 
  2. ok: down: alertmanager: 1s, normally up 
  3. ok: down: gitaly: 0s, normally up 
  4. ok: down: gitlab-monitor: 0s, normally up 
  5. ok: down: gitlab-workhorse: 0s, normally up 
  6. ok: down: logrotate: 0s, normally up 
  7. ok: down: nginx: 0s, normally up 
  8. ok: down: node-exporter: 0s, normally up 
  9. ok: down: postgres-exporter: 1s, normally up 
  10. ok: down: postgresql: 0s, normally up 
  11. ok: down: prometheus: 0s, normally up 
  12. ok: down: redis: 1s, normally up 
  13. ok: down: redis-exporter: 0s, normally up 
  14. ok: down: sidekiq: 0s, normally up 
  15. ok: down: unicorn: 1s, normally up 

 

建议:

如果非必要的功能需求,只是简单的要一个代码仓库的话,个人建立使用在8.8-9.x之间也不错了。