GitLab 是一个非常棒的基于 Git 的集成软件开发平台,支持代码托管、 Wiki、项目管理、CI/CD 等,使用很方便,但用户稍微多一点,维护却不太容易。 近期踩坑 GitLab 耽误了很多时间,记录一下,给自己和有缘人参考。GitLab 官方支持安装方式,包括 Omnibus,Docker,Docker-compose 等多种方式,不管哪种方式,升级的步骤都必须要走指定的升级路径才可以。举个例子:我的 GitLab 是 GitLab Community Edition,版本是 GitLab CE 14.9.2,目前 GitLab CE 的最新版本是 15.10.0(2023年3月)。我并不能直接从 14.9.2 升级到 15.10.0 ,我只能按照下列步骤一步一步升级。如何知道升级路径呢?官方有升级路径工具,请点击这里查看 :GitLab 升级路径
- 先从 GitLab CE 14.9.2 升级到 GitLab CE 14.9.5
- 从 GitLab CE 14.9.5 升级到 GitLab CE 14.10.5
- 从 GitLab CE 14.10.5 升级到 GitLab CE 15.0.5
- 从 GitLab CE 15.0.5 升级到 GitLab CE 15.4.6
- 从 GitLab CE 15.4.6 升级到 GitLab CE 15.10.0
具体升级过程如下,以下操作命令都是基于 Omnibus 安装方式,推荐使用该方式。
- 升级前请使用命令:
sudo gitlab-backup create
来创建备份,并保存下列两个文件/etc/gitlab/gitlab-secrets.json
/etc/gitlab/ggitlab.rb
- 使用
sudo apt policy gitlab-ce
查看接下来要安装的 GitLab CE,并记下包名,比如我下一个要升级的版本是 14.9.2 ,包名是:14.9.2-ce.0 - 在命令行下执行
sudo apt install gitlab-ce=14.9.2-ce.0
安装 14.9.2 版本的 GitLab CE - 安装完成之后,执行下列命令
- sudo gitlab-ctl reconfigure
- sudo gitlab-ctl restart
- sudo gitlab-rake gitlab:check SANITIZE=true
- 这时候 GitLab 应该是可以正常使用的,检查后台查看版本,已经更新到 14.9.2 了,如此循环,一个版本一个版本升级,一直到 15.10.0
我之前使用的是 Docker-compose 搭建的 GitLab,维护上偶尔出一些小毛病,这次升级转成了 Omnibus 方式安装,也是官方推荐方式,维护上确实要简单一些。总结一下,GitLab 的升级注意事项:
- 注意版本,CE 升级到 CE;EE 升级到 EE
- 升级路径必须要到官方推荐升级路径上,一个版本一个版本升
- 升级前务必做好备份
下面这张是升级成功的截图,如果你看到如图字样,那就恭喜你了!祝每一次升级成功,enjoy gitlab!