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

相关推荐
A ?Charis1 天前
Gitlab-runner running on Kubernetes - hostAliases
容器·kubernetes·gitlab
秋说1 天前
开源代码管理平台Gitlab如何本地化部署并实现公网环境远程访问私有仓库
gitlab·源代码管理
极小狐2 天前
驭码上新,AI Code Review、基于代码库的知识问答,让研发起飞
gitlab·devsecops·devops·极狐gitlab·安全合规
蚊子不吸吸2 天前
DevOps开发运维简述
linux·运维·ci/cd·oracle·kubernetes·gitlab·devops
花开莫与流年错_5 天前
GitLab代码仓管理安装配置使用
运维·服务器·git·gitlab·配置·代码仓
极小狐7 天前
如何打开/关闭 GitLab 的版本检查功能?
gitlab·devsecops·devops·极狐gitlab·安全合规
玉石俱焚ing9 天前
ubuntu20上部署gitlab并开启ipv6访问
运维·gitlab
謬熙9 天前
GitHub、Gitee、GitLab介绍
gitee·gitlab·github
云围9 天前
Soanrquber集成Gitlab 之 导入Gitlab项目
运维·ci/cd·gitlab·devops
云围9 天前
Soanrquber集成Gitlab 之 gitlab用户配置和身份验证
ci/cd·gitlab·github·devops