当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/197546.html

相关文章:

  • 12-k8s-HPA自动扩缩容
  • 从十月稻田,看大米为何能卖出200亿市值?
  • 功能集成,不占空间,同为科技TOWE嵌入式桌面PDU超级插座
  • 使用pdf.js预览pdf文件时如何兼容chrome66版本
  • 一篇文章讲明白double、float丢失精度的问题
  • Day 2 Qt
  • ArmSoM-W3之RK3588 MPP环境配置
  • 【C++ 拷贝构造函数详解】
  • [计算机提升] 用户和用户组
  • 开路、断路和短路区别
  • springBoot web开发自动配置和默认效果
  • 论文阅读:Efficient Point Cloud Segmentation with Geometry-Aware Sparse Networks
  • 1-k8s1.24-底座搭建-基于containerd
  • Java文件前后端上传下载工具类
  • 内燃机可变气门驱动研究进展
  • NEFU离散数学实验2-容斥原理
  • 解决Windows内存溢出/占满死机问题-PoolMon工具
  • 【ROS】ros-noetic和anaconda联合使用【教程】
  • 自动化RPA开发 --获取所有窗口信息和进程信息
  • 【Qt之布局】QVBoxLayout、QHBoxLayout、QGridLayout、QFormLayout介绍及使用
  • 【计算机毕业设计】python在线课程培训学习考试系统637r7-PyCharm项目
  • vue3后台管理系统之登录界面和业务的实现
  • GEE19:基于Landsat8的常见的植被指数逐年获取
  • Python【多分支实际应用的练习】
  • LeetCode 343. 整数拆分(动态规划)
  • C++对象模型(12)-- 构造函数语义学:构造函数
  • [23] T^3Bench: Benchmarking Current Progress in Text-to-3D Generation
  • linux系统如何定时关机
  • 构建高性能物联网数据平台:EMQX和CnosDB的完整教程
  • 【vim 学习系列文章 11 -- vim filetype | execute | runtimepath 详细介绍】