GitLab 如何降级?

本分分享 GitLab 降级的流程和注意事项。极狐GitLab 为 GitLab 的中文发行版,本文以私有化部署的极狐GitLab 为例来演示整个过程。

【极狐GitLab 推出 GitLab 老旧版本的专业升级服务【https://dl.gitlab.cn/cm33bsfv】,可以让 12.x、13.x、14.x、15.x 等老旧版本的升级平滑不出问题】

首先确定当前的版本信息,在实例 URL 后面加 /help就可以查看:

file

当前实例为 17.5.1-jh。我们降级到 17.4.0-jh。

降级之前需要做好备份,执行 gitlab-backup create即可开始备份。

# 开始备份
gitlab-backup create
2024-11-13 04:43:09 UTC -- Dumping database ...
2024-11-13 04:43:09 UTC -- Dumping PostgreSQL database gitlabhq_production ...
2024-11-13 04:43:44 UTC -- [DONE]
2024-11-13 04:43:44 UTC -- Dumping database ... done
2024-11-13 04:43:44 UTC -- Dumping repositories ...
{"command":"create","gl_project_path":"devsecops.wiki","level":"info","msg":"started create","pid":321034,"relative_path":"@groups/4f/c8/4fc82b26aecb47d2868c4efbe3581732a3e7cbcc6c2efb32062c08170a05eeb8.wiki.git","storage_name":"default","time":"2024-11-13T04:43:45.332Z"}
......太长删除......
Please back them up manually.
2024-11-13 04:43:46 UTC -- Backup 1731472989_2024_11_13_17.5.1-jh is done.
2024-11-13 04:43:46 UTC -- Deleting backup and restore PID file at [/opt/gitlab/embedded/service/gitlab-rails/tmp/backup_restore.pid] ... done# 查看备份
ls -ltr /var/opt/gitlab/backups/
-rw------- 1 git git 379535360 Nov 13 04:43 /var/opt/gitlab/backups/1731472989_2024_11_13_17.5.1-jh_gitlab_backup.tar

接着执行降级的步骤,大体为:

  • 停止极狐GitLab
  • 移除当前的软件包
  • 安装降级之后的安装包
  • 重新配置极狐GitLab
  • 恢复备份
  • 启动极狐GitLab

下面我们一步步演示在 ubuntu 22.04 上如何降级安装好的极狐GitLab 实例。

整体步骤

停止极狐GitLab

# If running Puma
sudo gitlab-ctl stop puma# Stop sidekiq
sudo gitlab-ctl stop sidekiq

移除当前的安装包

# If on Ubuntu: remove the current package
sudo dpkg -r gitlab-jh

安装降级之后的安装包

可以执行 apt-cache madison gitlab-jh找到需要降级的对应安装包信息。本文选择降级到 17.4.0-jh.0

接着执行安装命令进行低版本极狐GitLab 的安装:

apt install gitlab-jh=17.4.0-jh.0

安装成功会显示如下界面:

在这里插入图片描述

重新配置极狐GitLab

执行 reconfigure命令重新配置极狐GitLab

# 重新配置实例
gitlab-ctl reconfigure# 查看组件状态
gitlab-ctl status
run: alertmanager: (pid 323277) 151s; run: log: (pid 323259) 152s
run: gitaly: (pid 323275) 151s; run: log: (pid 323261) 152s
run: gitlab-exporter: (pid 323274) 151s; run: log: (pid 323270) 151s
run: gitlab-kas: (pid 323237) 152s; run: log: (pid 323217) 152s
run: gitlab-workhorse: (pid 323238) 152s; run: log: (pid 323218) 152s
run: logrotate: (pid 323314) 151s; run: log: (pid 323260) 152s
run: nginx: (pid 323315) 151s; run: log: (pid 323263) 152s
run: node-exporter: (pid 323258) 152s; run: log: (pid 323256) 152s
run: postgres-exporter: (pid 323273) 151s; run: log: (pid 323271) 151s
run: postgresql: (pid 323264) 152s; run: log: (pid 323257) 152s
run: prometheus: (pid 323272) 151s; run: log: (pid 323254) 152s
run: puma: (pid 323220) 152s; run: log: (pid 323219) 152s
run: redis: (pid 323223) 152s; run: log: (pid 323221) 152s
run: redis-exporter: (pid 323276) 151s; run: log: (pid 323262) 152s
run: sidekiq: (pid 323224) 152s; run: log: (pid 323222) 152s

恢复数据

# 找到对应的备份文件,恢复数据
gitlab-backup restore BACKUP=1730349575_2024_10_31_17.4.0-jh
2024-11-13 06:09:17 UTC -- Unpacking backup ...
2024-11-13 06:09:18 UTC -- Unpacking backup ... done
2024-11-13 06:09:18 UTC -- Restoring database ...
2024-11-13 06:09:18 UTC -- Be sure to stop Puma, Sidekiq, and any other process that
connects to the database before proceeding. For Omnibus
installs, see the following link for more information:
http://jhma.jihulab.net/help/raketasks/backup_restore.html#restore-for-omnibus-gitlab-installations
......太长删除......
2024-11-13 06:13:09 UTC -- Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data
and are not included in this backup. You will need to restore these files manually.
2024-11-13 06:13:09 UTC -- Restore task is done.
2024-11-13 06:13:09 UTC -- Deleting backup and restore PID file at [/opt/gitlab/embedded/service/gitlab-rails/tmp/backup_restore.pid] ... done

接着访问极狐GitLab 实例,查看对应的版本即可

file

注意事项

对于极狐GitLab 的降级操作一定是要慎之又慎,而且要确保做好了数据备份。如果在整个过程中出现问题,可以寻求极狐GitLab 专业升级服务【https://dl.gitlab.cn/cm33bsfv】。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/473075.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【动手学电机驱动】 STM32-FOC(7)MCSDK Pilot 上位机控制与调试

STM32-FOC(1)STM32 电机控制的软件开发环境 STM32-FOC(2)STM32 导入和创建项目 STM32-FOC(3)STM32 三路互补 PWM 输出 STM32-FOC(4)IHM03 电机控制套件介绍 STM32-FOC(5&…

IDEA2024:右下角显示内存

使用场景: 实时知晓idea内存使用情况 解决方案: 开启内存显示 View -> Apperance -> Status Bar Widgets -> Memory Indicator 效果如下:

2024140读书笔记|《作家榜名著:生如夏花·泰戈尔经典诗选》——你从世界的生命的溪流浮泛而下,终于停泊在我的心头

2024140读书笔记|《作家榜名著:生如夏花泰戈尔经典诗选》——你从世界的生命的溪流浮泛而下,终于停泊在我的心头 《作家榜名著:生如夏花泰戈尔经典诗选》[印]泰戈尔,郑振铎译,泰戈尔的诗有的清丽,有的童真&…

c# 调用c++ 的dll 出现找不到函数入口点

今天在调用一个设备的dll文件时遇到了一点波折,因为多c 不熟悉,调用过程张出现了找不到函数入口点,一般我们使用c# 调用c 文件,还是比较简单。 [DllImport("AtnDll2.dll",CharSet CharSet.Ansi)]public static extern …

Python_爬虫3_Requests库网络爬虫实战(5个实例)

目录 实例1:京东商品页面的爬取 实例2:亚马逊商品页面的爬取 实例3:百度360搜索关键词提交 实例4:网络图片的爬取和存储 实例5:IP地址归地的自动查询 实例1:京东商品页面的爬取 import requests url …

WebSocket协议在Java中的整合

1. 常见的消息推送方式 2.WebSocket API 3.基于WebSocket的实战(实时聊天室) 这里以解析后端代码为主,前端不作为重点,若想复现项目,请从作者的仓库中拉取代码 WebSocket-chatRoom: 基于WebSocket协议实现一个简单的…

蓝桥杯每日真题 - 第15天

题目:(钟表) 题目描述(13届 C&C B组B题) 解题思路: 理解钟表指针的运动: 秒针每分钟转一圈,即每秒转6度。 分针每小时转一圈,即每分钟转6度。 时针每12小时转一圈…

在 Node.js 中解决极验验证码:使用 Puppeteer 自动化

近年来,极验验证码在区分真实用户和自动化系统方面越来越先进,使其成为网页抓取和自动化的重大障碍。如果您正在使用 Node.js 并致力于在自动化流程中解决极验验证码,那么使用 Puppeteer 是一种有效的方法。Puppeteer 提供了一个高级 API 来控…

centos7 升级openssl 与升级openssh 安装卸载 telnet-server

前言: 服务器被安全扫描,扫出了漏洞需要修复,根据提示将openssh升级为9.8p1的版本,同时需要升级openssl,但是升级openssh可能会导致ssh连接失败,从而无法继续操作,特别是远程机房尤为危险&#…

PETR/PETRv2/StreamPETR论文阅读

1. PETR PETR网络结构如下,主要包括image-backbone,3D Coordinates Generator,3D Position Encoder,transformer Decoder四个模块。 把N 个视角的图像输入到骨干网络中以提取 2D 多视图特征。在 3D 坐标生成器中,首先…

若点集A=B则A必能恒等变换地变为B=A这一几何常识推翻直线(平面)公理

黄小宁 关键词:“更无理”复数 复平面z各点z的对应点z1的全体是z1面。z面平移变为z1面就使x轴⊂z面沿本身平移变为ux1轴。R可几何化为R轴,R轴可沿本身平移变为R′轴,R′轴可沿本身平移变为R″轴,...。直线公理和平面公理使几百年…

在Node.js中如何使用TypeScript

第一步:创建一个Node.js项目的package.json文件 npm init -y第二步:添加TypeScript、添加node.d.ts npm install typescript -D npm install types/node -D第三步:初始化一个tsconfig.json文件 npx tsc --init --rootDir src --outDir lib…

海康大华宇视视频平台EasyCVR私有化视频平台服务器选购主要参数有哪些?

在构建现代服务器和视频监控系统时,选择合适的硬件配置和关键技术是确保系统性能和稳定性的基础。服务器选购涉及到多个关键参数,这些参数直接影响到服务器的处理能力、数据存储、网络通信等多个方面。 同时,随着视频监控技术的发展&#xf…

async 和 await的使用

一、需求 点击按钮处理重复提交,想要通过disabled的方式实现。 但是点击按钮调用的方法里有ajax、跳转、弹窗等一系列逻辑操作,需要等方法里流程都走完,再把disabled设为false,这样下次点击按钮时就可以继续走方法里的ajax等操作…

【Pikachu】XML外部实体注入实战

若天下不定&#xff0c;吾往&#xff1b;若世道不平&#xff0c;不回&#xff01; 1.XXE漏洞实战 首先写入一个合法的xml文档 <?xml version "1.0"?> <!DOCTYPE gfzq [<!ENTITY gfzq "gfzq"> ]> <name>&gfzq;</name&…

g++与gdb简单学习

本文的内容由智谱清言产生 ------ 使用g编译C程序 使用gdb设置断点&#xff0c;反汇编代码&#xff0c;单步执行 int main() {int a 1;a;return 0; } 1.编译程序&#xff1a;使用 g 编译器将 C 源代码编译成 IA-32 可执行文件。 这可以通过添加 -m32 标志来实现&#xff0…

【小白可懂】微信小程序---课表渲染

结果展示&#xff1a;&#xff08;代码在最后&#xff09; WeChat_20241116174431 项目简介 在数字化校园建设的大背景下&#xff0c;为了更好地服务于在校师生&#xff0c;我们开发了一款基于微信小程序的课表管理系统。该系统采用了现代化的前端技术和优雅的设计风格&#x…

【实验11】卷积神经网络(2)-基于LeNet实现手写体数字识别

&#x1f449;&#x1f3fc;目录&#x1f448;&#x1f3fc; &#x1f352;1. 数据 1.1 准备数据 1.2 数据预处理 &#x1f352;2. 模型构建 2.1 模型测试 2.2 测试网络运算速度 2.3 输出模型参数量 2.4 输出模型计算量 &#x1f352;3. 模型训练 &#x1f352;4.模…

Python酷库之旅-第三方库Pandas(221)

目录 一、用法精讲 1036、pandas.DatetimeIndex.to_pydatetime方法 1036-1、语法 1036-2、参数 1036-3、功能 1036-4、返回值 1036-5、说明 1036-6、用法 1036-6-1、数据准备 1036-6-2、代码示例 1036-6-3、结果输出 1037、pandas.DatetimeIndex.to_series方法 10…

【WPF】Prism学习(三)

Prism Commands 1.复合命令&#xff08;Composite Commanding&#xff09; 这段内容主要介绍了在应用程序中如何使用复合命令&#xff08;Composite Commands&#xff09;来实现多个视图模型&#xff08;ViewModels&#xff09;上的命令。以下是对这段内容的解释&#xff1a; …