蔚蓝触点 Azuretouch

Azuretouch
Touch your future

GitLab 的升级之路

GitLab

因为要和 JIRA 集成,发现现有的 GitLab 版本太老,不支持。所以要升级。

特别注意,GitLab 不支持直接升级,必须大版本依次升级,如果升级失败,请注意看提示。

版本号见下表:

大版本号更新状态目前最高小版本
8完结8.17.8
9完结9.5.9
10完结10.8.7
11完结11.11.8
12进行中12.10.6

准备工作

  • 做好备份
gitlab-rake gitlab:backup:create
  • 添加源,新建/修改次文件 /etc/yum.repos.d/gitlab-ce.repo,并在文件中添加以下内容:
[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
repo_gpgcheck=0
gpgcheck=0
enable=1
gpgkey=https://packages.gitlab.com/gpg.key

开始升级

因为我的 GitLab 版本是 8.8.5,所以安装上述版本表格,先升级至 8.17.5,再升级到 9.5.9,依次类推。要注意,11.11.8 的时候,必须先升级到 12.0.x,才可以继续升级。
附上我的升级之路

[root@localhost ~]# sudo gitlab-rake gitlab:backup:create
[root@localhost ~]# yum install gitlab-ce-8.17.8
[root@localhost ~]# gitlab-ctl restart
[root@localhost ~]# gitlab-ctl reconfigure
[root@localhost ~]# sudo gitlab-rake gitlab:backup:create
[root@localhost ~]# yum install gitlab-ce-9.5.9
[root@localhost ~]# gitlab-ctl reconfigure
[root@localhost ~]# gitlab-ctl restart
[root@localhost ~]# sudo gitlab-rake gitlab:backup:create
[root@localhost ~]# yum install gitlab-ce-10.8.7
[root@localhost ~]# gitlab-ctl reconfigure
[root@localhost ~]# gitlab-ctl restart
[root@localhost ~]# sudo gitlab-rake gitlab:backup:create
[root@localhost ~]# yum install gitlab-ce-11.11.8
[root@localhost ~]# gitlab-ctl reconfigure
[root@localhost ~]# gitlab-ctl restart
[root@localhost ~]# sudo gitlab-rake gitlab:backup:create
[root@localhost ~]# yum install gitlab-ce-12.0.1
 [root@localhost ~]# gitlab-ctl reconfigure
[root@localhost ~]# gitlab-ctl restart
[root@localhost ~]# sudo gitlab-rake gitlab:backup:create
[root@localhost ~]# yum install gitlab-ce-12.10.6
[root@localhost ~]# gitlab-ctl reconfigure
[root@localhost ~]# gitlab-ctl restart
[root@localhost ~]# sudo gitlab-rake gitlab:backup:create

另外注意,当你 reconfigure 完之后,如果有错误,请按照提示的命令来修复。

备份

# 12.1 以上版本使用以下命令
gitlab-backup create
# 12.1 以下版本使用以下命令
gitlab-rake gitlab:backup:create

这里还要说一下,GitLab 的备份文件不支持跨版本恢复,就是说 8.8.5 的备份,不可以在 12.10.6 上恢复。

恢复

如何恢复备份,请参阅另一篇文章GitLab 迁移及问题汇总

# 12.1 以上版本使用以下命令
gitlab-backup restore BACKUP=xxxxxxxx
# 12.1 以下版本使用以下命令
gitlab-rake gitlab:backup:restore

如果是在其他服务器恢复备份,一定要记得将 gitlab.rb 和 gitlab-secrets.json 手动复制到相应路径下。

gitlab.rb路径:/etc/gitlab/gitlab.rb
gitlab-secrets.json路径:/etc/gitlab/gitlab-secrets.json

记得复制完这两个文件,还是要 reconfigure 和 restart。

另外,如果发现保存设置的时候出现 500 错误。请在 gitlab-rails console 控制台中执行以下命令:

ApplicationSetting.current.reset_runners_registration_token!
未经允许不得转载:蔚蓝触点 Azuretouch » GitLab 的升级之路

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址