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】。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微软日志丢失事件敲响安全警钟

NEWS | 事件回顾 最近,全球最大的软件公司之一——微软,遭遇了一场罕见的日志丢失危机。据报告,从9月2日至9月19日,持续长达两周的时间里,微软的多项核心云服务,包括身份验证平台Microsoft Entra、安全信息…

leetcode268 丢失的数字

class Solution { public:int missingNumber(vector<int>& nums) {sort(nums.begin(),nums.end());int i0;for(;i<nums.size();i){if(i!nums[i]) break;}return i;} }; sort(nums.begin(), nums.end()); 对数组进行排序。虽然排序是一个可行的方法&#xff0c;但是…

HBuilder(uniapp) 配置android模拟器

HBuilder&#xff08;uniapp&#xff09; 配置android模拟器 选择完成之后&#xff0c;点击ok&#xff0c;再次点击Configure—》AVD Manager

Redis高可用-主从复制

这里写目录标题 Redis主从复制主从复制过程环境搭建从节点配置常见问题主从模式缺点 Redis主从复制 虽然 Redis 可以实现单机的数据持久化&#xff0c;但无论是 RDB 也好或者 AOF 也好&#xff0c;都解决不了单点宕机问题&#xff0c;即一旦 redis 服务器本身出现系统故障、硬…

Vue3 -- 项目配置之husky【企业级项目配置保姆级教程4】

引言&#xff1a; eslint&#xff1a;代码规范校验prettier&#xff1a;代码格式化stylelint&#xff1a;CSS代码校验 上述三篇文章集成配置完成代码校验工具&#xff0c;当时需要每次手动的去执行命令才会格式化我们的代码。。如果有人没有格式化就提交了远程仓库&#xff0…

PaddlePaddle 开源产业级文档印章识别PaddleX-Pipeline “seal_recognition”模型 开箱即用篇(一)

AI时代到来&#xff0c;各行各业都在追求细分领域垂直类深度学习模型&#xff0c;今天给大家介绍一个PaddlePaddle旗下&#xff0c;基于PaddleX Pipeline 来完成印章识别的模型“seal_recognition”。 官方地址&#xff1a;https://github.com/PaddlePaddle/PaddleX/blob/relea…

06.VSCODE:备战大项目,CMake专项配置

娇小灵活的简捷配置不过是年轻人谈情说爱的玩具&#xff0c;帝国大厦的构建&#xff0c;终归要交给CMake去母仪天下。一个没有使用 CMake 的 C 项目&#xff0c;就像未来世界里的一台相声表演&#xff0c;有了德纲却无谦&#xff0c;观众笑着遗憾。—— 语出《双城记》作者&…

新高考志愿录取方式变革,如何应对挑战?答案在这里

在教育改革的浪潮中&#xff0c;新高考的实施带来了重大变革&#xff0c;其中志愿录取方式的变化尤为关键。它不仅关系着每一位考生的未来发展&#xff0c;更是对整个教育体系产生着深远影响。今天&#xff0c;我们就来深入探讨新高考的两大志愿录取方式&#xff0c;分析其特点…

Unity网络通信(part7.分包和黏包)

目录 前言 概念 解决方案 具体代码 总结 分包黏包概念 分包 黏包 解决方案概述 前言 在探讨Unity网络通信的深入内容时&#xff0c;分包和黏包问题无疑是其中的关键环节。以下是对Unity网络通信中分包和黏包问题前言部分的详细解读。 概念 在网络通信中&#xff0c;…

64位PE壳编写指南

文章目录 前记x64壳后记reference 文章首发于微信公众号《渗透测试安全攻防》 前记 开源的关于PE压缩和加密壳几乎都是32位&#xff0c;于是学习写一个64位的壳供参考&#xff0c;其原理差别不大学写PE壳是熟悉PE结构很好的方式项目已开源&#xff0c;求个stars嘻嘻嘻 https:…

3D意识(3D Awareness)浅析

一、简介 3D意识&#xff08;3D Awareness&#xff09;主要是指视觉基础模型&#xff08;visual foundation models&#xff09;对于3D结构的意识或感知能力&#xff0c;即这些模型在处理2D图像时是否能够理解和表示出图像中物体或场景的3D结构&#xff0c;其具体体现在编码场景…

Web安全之SQL注入---基础

文章目录 SQL注入简介SQL注入基础SQL注入分类SQL注入流程 SQL注入简介 什么是SQL注入&#xff1f; SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严&#xff0c;攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句&#xff0c;在管理…

黄仁勋对话孙正义:日本的AI新饼、Arm的AI野心与英伟达的东亚新机会

2020 年的软银世界大会上&#xff0c;孙正义与黄仁勋围绕「What’s Next for AI」展开了一次围炉对谈。黄仁勋穿着标志性的皮夹克坐在火堆旁&#xff0c;畅谈了将 Arm 纳入麾下的重要价值&#xff0c;孙正义也毫不吝啬赞美之词&#xff0c;称老黄在未来 10 年会达到史蒂夫 乔布…

【案例】Excel使用宏来批量插入图片

一、场景介绍 我有一个excel文件&#xff0c;需要通过一列的文件名称&#xff0c;按照规则给批量上传图片附件。 原始文件&#xff1a; 成功后文件&#xff1a; 二、实现方法 1. 使用【wps】工具打开Excel文件&#xff0c;将其保存为启用宏的文件。 2.找到编辑宏的【VB编辑器…

Kubernetes-ArgoCD篇-01-简介

1、什么是Argo CD Argo CD 是针对 Kubernetes 的声明式 GitOps 持续交付工具。 Argo CD官方文档地址&#xff1a;https://argo-cd.readthedocs.io Argo CD源码地址&#xff1a;https://github.com/argoproj/argo-cd 1.1 关于Argo Argo是一个开源的项目&#xff0c;主要是扩…

odoo17 前端 在头像下拉 dropdown 自定义菜单

odoo17 前端 在头像下拉 dropdown 自定义菜单 其实很简单, 我们先找到原来已经创建好的, 找到代码位置 使用 我的资料 为例 odoo-17.0\addons\hr\static\src\user_menu\my_profile.js /** odoo-module **/import { _t } from "web/core/l10n/translation"; import …

时序预测 | Python基于CNN-transformer时间序列预测

时序预测 | Python基于CNN-transformer时间序列预测 目录 时序预测 | Python基于CNN-transformer时间序列预测预测效果基本介绍参考资料 预测效果 基本介绍 时序预测 | Python基于CNN-transformer时间序列预测 Cnn-transformer-自适应稀疏自注意力ASSA-对比归一化contranorm预…

(干货)Jenkins使用kubernetes插件连接k8s的认证方式

#Kubernetes插件简介 Kubernetes 插件的目的是能够使用 Kubernetes 配合&#xff0c;实现动态配置 Jenkins 代理&#xff08;使用 Kubernetes 调度机制来优化负载&#xff09;&#xff0c;在执行 Jenkins Job 构建时&#xff0c;Jenkins Master 会在 kubernetes 中创建一个 Sla…

Python学习25天

# 切片语法&#xff1a;序列[起始索引:结束索引:步长]&#xff0c;起始不写默认为0&#xff0c;结束不写默认取到结尾&#xff0c;步长不写默认为1(步长为-反向截取&#xff0c;最后一位起始序列为-1),左闭右开&#xff0c;切片后原序列不变 str "lx,hahaha,呵呵" s…

API接口精准获取商品详情信息案例

在当今数字化时代&#xff0c;电子商务平台的蓬勃发展&#xff0c;使得商品信息的获取变得尤为重要。API&#xff08;Application Programming Interface&#xff0c;应用程序编程接口&#xff09;作为连接前端用户界面与后端服务的桥梁&#xff0c;扮演着至关重要的角色。本文…