前言
我的Linux目前是centos8,目前使用的gitlab是从https://mirrors.tuna.tsinghua.edu.cn/ 下载下来的gitlab-ce-12.10.1-ce.0.el8.x86_64.rpm,然后安装的。
这里需要注意如果是centos8需要下载el8的gitlab,如果是centos7需要下载el7的gitlab,遗憾的是当我再次进入https://mirrors.tuna.tsinghua.edu.cn/,里面却没有了el8的安装包,于是只能去https://packages.gitlab.com/gitlab/gitlab-ce/ 下载。之前没有注意,下载了el7的进行升级,升级的时候报错:
error: Failed dependencies:
policycoreutils-python is needed by gitlab-ce-12.10.14-ce.0.el7.x86_64
为了避免升级失败,官网对升级提出了递进升级的建议,也就是不建议直接跨大版本升级,比如直接从10.xx.xx的版本直接升级到12.xx.xx的版本。
我的升级策略是:先升级到当前版本的最大版本,然后升级到下一个大版本的最小版本,然后升级到下一个大版本的最大版本,然后升级到下下一个大版本的最小版本,然后升级到下下一个大版本的最大版本。比如我当前版本是12.10.1,升级路线是12.10.1–>12.10.14–>13.0.0–>13.12.15,只有如何找版本,自己去安装包的网站翻阅就可以了。
备份
gitlab-rake gitlab:backup:create
参考 https://www.cnblogs.com/nethrd/p/9408330.html
备份后的文件在 cd /var/opt/gitlab/backups
备份与恢复参考 http://www.manongjc.com/detail/64-efjvpwrrnqhlxtq.html
下载包
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-12.10.14-ce.0.el8.x86_64.rpm/download.rpm
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-13.0.0-ce.0.el8.x86_64.rpm/download.rpm
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-13.12.15-ce.0.el8.x86_64.rpm/download.rpm
关闭gitlab服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
升级
rpm -Uvh gitlab-ce-12.10.14-ce.0.el8.x86_64.rpm
rpm -Uvh gitlab-ce-13.0.0-ce.0.el8.x86_64.rpm
rpm -Uvh gitlab-ce-13.12.15-ce.0.el8.x86_64.rpm
.....
重新配置gitlab
gitlab-ctl reconfigure
重启gitlab
gitlab-ctl restart
查看当前版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
然后重新进入网站看是否成功即可。