gitLab更新11.11.3->16.1.5

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博客

相关推荐
极小狐18 小时前
GitLab 18.2 发布几十项与 DevSecOps 有关的功能,可升级体验【二】
ci/cd·gitlab·devsecops·devops·极狐gitlab
不念霉运3 天前
2025 Gitee vs. GitLab:全面对比与选择指南
gitee·gitlab
水瓶_bxt3 天前
创建 GitLab Runner 使用CICD自动化部署容器
eureka·自动化·gitlab
黑心的奥利奥5 天前
Docker配置Gitlab-runner实现自动化容器化部署前端项目
docker·自动化·gitlab
wuzuyu3655 天前
在腾讯云上安装gitlab
云计算·gitlab·腾讯云
xiaodaiwang5 天前
OpenEuler 22.03 系统上安装配置gitlab runner
gitlab
TimberWill6 天前
gitlab私服搭建
gitlab
中东大鹅6 天前
访问 gitlab 跳转 0.0.0.0
gitlab
guygg886 天前
配置本地git到gitlab并推送
git·gitlab
大A崛起7 天前
Gitlab-CI实现组件自动推送
ci/cd·gitlab·github