gitlab当前版本11.11.3   postgreSQL当前版本 9.6.11

gitlab升级顺序

11.11.3 -》 12.0.12 -》 12.10.14 -》13.0.14 -》 13.1.11 -》13.8.8 -》13.12.15
-》14.0.12 —》 14.3.6 -》 14.9.5 -》 14.10.5 -》 15.0.5 -》 15.1.6 -》 15.4.6
-》 15.11.13 -》 16.0.X —》 16.1 -》 16.2.X -》 16.3 -》 16.Y.Z

可以参照官方顺序Upgrading GitLab | GitLab

理解:每次更新都是按照每个版本中最大的版本去更新。例如:12.0.12就是12.0.X中最大的版本、12.10.14是12.10.X中最大的版本

注意事项

1.在升级到GitLab 14.0之前(即在13.12.15时完成升级到12),必须升级到PostgreSQL 12。(实际升级过程,PostgreSQL自动升级了,没有去额外的去操作)

2.所以我们需要在13.X的最后一个版本,当前13系列最后一个版本为:13.12.15 ,将传统存储转换为哈希存储(本人并未去处理哈希存储,依旧更新成功)

如出现该问题可以参考:哈希存储转换问题
https://blog.csdn.net/wjplj/article/details/125908203

每次升级前的准备工作

1.关闭防火墙 systemctl status firewalld.service(查看防火墙状态命令)

2.验证通用配置  sudo gitlab-rake gitlab:check(这一步很重要可以避免很多问题)

3.GitLab网页验证

4.执行备份操作   --保存的tar文件 在 /var/opt/gitlab/backups

   4.1备份命令:(本人并未去备份,因为发现在更新版本时会自己备份数据)

                      GitLab 12.2以后:gitlab-backup create  GitLab   
                      12.1及以前:gitlab-rake gitlab:backup:create

   4.2手工备份的文件:(该操作很重要,如果更新出现问题,需要版本回退并恢复数据时,这两个文件必不可少。)

                      /etc/gitlab/gitlab-secrets.json
                      /etc/gitlab/gitlab.rb

    4.3恢复操作(备份和恢复需要相同的GitLab版本):

                        1.关闭数据库连接服务 gitlab-ctl stop unicorn/puma && gitlab-ctl stop sidekiq (注意gitlab在某个版本之后就不再使用unicorn,而是使用puma)

                        2.手工恢复gitlab-secrets.json文件与gitlab.rb

                        3.cd /var/opt/gitlab/backups(进入备份的文件目录下)

                        4.执行备份命令gitlab-rake gitlab:backup:restore BACKUP=?(?代表备份的文件名,但是只要前面时间戳+版本号那一段)

5.下载目标版本的RPM包

        法一:输入命令:wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/?(本人未尝试)

        法二:直接去Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror下载。然后上传到服务器。

升级gitlab

1.gitlab-ctl stop unicorn/puma
2.gitlab-ctl stop sidekiq
3.gitlab-ctl stop nginx

开始升级:
4.rpm -Uvh gitlab-ce-12.1.17-ce.0.el7.x86_64.rpm   (执行该命令需要在放RPM包的目录下)
5.gitlab-ctl reconfigure
6.gitlab-ctl restart

查看版本

查看postgreSQL版本:/opt/gitlab/embedded/bin/psql --version

查看gitlab版本:cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

版本回退

1.停止服务  gitlab-ctl stop

2.卸载当前版本  

               gitlab-ctl uninstall
               yum remove gitlab-ce

3.安装旧版本  rpm -ivh gitlab-ce-15.4.5-ce.0.el7.x86_64.rpm(rpm -ivh表示安装 rpm -Uvh表示更新版本)

4.恢复数据  (若需要可以使用一下恢复数据,具体看上面提及的恢复操作)
  gitlab-rake gitlab:backup:restore BACKUP=1234567890_2020_11_20_15.4.5

gitlab管理员密码修改

Step 1: 停止GitLab的Web服务

使用以下命令停止GitLab的Web服务:

sudo gitlab-ctl stop unicorn/puma (有些版本使用的是unicorn/有些使用的是puma)
sudo gitlab-ctl stop sidekiq

Step 2: 重置管理员密码

使用以下命令重置管理员密码:

sudo gitlab-rake gitlab:password:reset USERNAME=root

请注意,该命令中的USERNAME参数应替换为您的管理员账号名称。当系统提示您输入新密码时,请输入新的管理员密码。

Step 3: 启动GitLab的Web服务

使用以下命令启动GitLab的Web服务:

sudo gitlab-ctl start unicorn/puma
sudo gitlab-ctl start sidekiq

更新过程中出现的数据迁移问题

本人直接版本回退,重新更新。(所以出现该问题可能原因是操作失误)

参考

1.Gitlab升级报错一:rails_migration[gitlab-rails] (gitlab::database_migrations line 51)_gitlab升级失败-CSDN博客

2.数据迁移问题-WinFrom控件库|.net开源控件库|HZHControls官网

参考文献:

1.gitlab从11.11.3升级至13.4.2_gitlab-ctl pg-upgrade -v-CSDN博客

2.GitLab中的备份 - Go语言中文社区

3.Gitlab运维(初级)之Gitlab安装_小仲码还是要敲代码的博客-CSDN博客

4.Linux安装gitlab(yum方式、rpm方式)_旧城ck的博客-CSDN博客

5.Gitlab升级_勇敢的打工人.的博客-CSDN博客

6.gitlab升级_gitlab升级路径_wskr~的博客-CSDN博客

7.从gitlab12.6.4升级到gitlab15.11.7_gitlab版本-CSDN博客

8.GitLab基础:备份与恢复指南_gitlab 恢复备份-CSDN博客

9.gitlab备份与还原:配置文件解读、定时备份、云备份_/etc/gitlab/gitlab.rb_学亮编程手记的博客-CSDN博客10.gitlab 13.x 升级至 14.x 哈希存储转换问题_gitlab-rake gitlab:storage:legacy_projects * found_wjplj的博客-CSDN博客

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐