GitLab 降级安装出现 500 错误,如何解决?

news2024/12/21 12:14:18

本文分享 GitLab 中文版在降级的过程中出现 500 错误的修复方法。

写在前面

强烈不建议大家自行降级,如果真有降级需求,要么自己能力过硬,要么寻求专业服务【https://dl.gitlab.cn/cm33bsfv】,要不出问题很麻烦!

问题复现过程

我之前自行安装了一个极狐GitLab 私有化部署实例,版本升级到了 17.5.1,由于想尝试一下降级的过程,所以就想降级到 17.0.0 试一下。按照文章 GitLab 如何降级安装中的步骤,降级是成功了,但是访问实例的时候提示 500 错误:

file

正好界面上提示了 Request ID,拿着 ID 在 gitlab log 目录下搜索了一下:

file

提示的错误是 Relation has no current order and table has no primary key to be used as default order

解决思路

查了一下,大概率是与数据库有关。然后猜测可能是下降的版本也跨版本了,导致数据结构有问题。为了验证猜想,我查了一下,如果从 17.0.0 升级到 17.5.1 的路径。

我在浏览器中打开了 https://gitlab.cn/support/toolbox/upgrade-path 然后,在 current 中选择 17.0.0,target 是 17.5.1,查询了升级路径:

file

原来,17.0.0 升级到 17.5.1 还不能直接升级,必须先升级到 17.3.6,再升级到 17.5.1。那对于降级应该也是一样了,应该先从 17.5.1 降级到 17.3.6,再降级到 17.0.0。

在按照降级路径之后,最后 500 错误消失,实例访问正常。

总结

通过这次尝试,我得出了以下几点:

  • GitLab 不管是升级还是降级,一定要做好准备工作,比如备份数据(要确保降级之后的版本,在之前也做了数据备份)
  • 升级、降级都要遵循一定的路径,这个路径一定要清晰,路径的查看可以在极狐GitLab 官网升级路径查看 https://gitlab.cn/support/toolbox/upgrade-path 中获取
  • 一定要对升降级过程中遇到的问题有心理准备,遇到问题的可能性比较大(如果自己的 GitLab 了解不深入的情况下)
  • 如果是企业内部的平台,在自己没有把握的前提下,不要随意升级、降级,最好把这些交给专业的人员【https://dl.gitlab.cn/cm33bsfv】,因为 GitLab 是个工具,不是目的。这时候可以考虑寻求官方的技术服务支持!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《Representing Scenes asNeural Radiance Fields for View Synthesis》论文解析——NeRF

一、论文简介 NeRF这篇论文提出了一种通过优化一个连续的5D体积场景函数来合成复杂场景新视图的方法。该算法使用一个全连接的深度网络来表示场景,输入是单一连续的5D坐标(空间位置和观察方向),输出是该位置的体积密度和依赖于观察…

精通rust宏系列教程-调试过程宏

Rust过程性宏是该语言最令人兴奋的特性之一。它们让你能够在编译时注入代码,但与单态泛型所使用的方法不同。使用非常特殊的包(crate),让你可以完全从头开始构建新代码。本文从简单示例开始,逐步分解,也会详…

035_Progress_Dialog_in_Matlab中的进度条对话框

进度条 概念 在使用Matlab开发界面时,有一个很好用的工具就是进度条。在计算过程中,为用户提供计算进度的反馈是改善用户体验的重要手段。 一项进行的计算任务,如果其总体进度是比较容易量化,则可以按照0%~100%的方式&#xff0…

动态规划:计算技术中的核心【精确与效率并存】

写在前面 博客来源:翻译自youtube高赞技术视频,并精加工和细化。 适合阅读:想要搞懂动态规划的小伙伴~ 动态规划是一项杰出的计算技术,它既保留了穷举法的精确性,又吸收了贪心算法的高效率。 它主要应用于两个领域…

【JavaSE线程知识总结】

多线程 一.创建线程1.多线程创建方式一(Thread)2.多线程创键方式二(Runnable)3.线程创建方式三 二.线程安全问题解决办法1.使用同步代码块synchornized 2 .使用Lock解决线程安全问题 三.总结 线程就是程序内部的一条执行流程 一.创建线程 常用的方法 Thread.currentThread()…

Leetcode - 周赛423

目录 一,3349. 检测相邻递增子数组 I 二,3350. 检测相邻递增子数组 II 三,3351. 好子序列的元素之和 四,3352. 统计小于 N 的 K 可约简整数 一,3349. 检测相邻递增子数组 I 本题有两种做法: 先求出递增…

boost之property

简介 property在boost.graph中有使用,用于表示点属性或者边属性 结构 #mermaid-svg-56YI0wFLPH0wixrJ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-56YI0wFLPH0wixrJ .error-icon{fill:#552222;}#me…

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-25

文件下载与邀请翻译者 学习英特尔开发手册,最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册,会是一件耗时费力的工作。如果有愿意和我一起来做这件事的,那么&#xff…

paddle表格识别数据制作

数据格式 其中主要数据有两个一个表格结构的检测框&#xff0c;一个是tokens&#xff0c;注意的地方是 1、只能使用双引号&#xff0c;单引号不行 2、使用带引号的地方是tokens里面 "<tr>", "<td", " colspan2", ">",&quo…

Java 全栈知识体系

包含: Java 基础, Java 部分源码, JVM, Spring, Spring Boot, Spring Cloud, 数据库原理, MySQL, ElasticSearch, MongoDB, Docker, k8s, CI&CD, Linux, DevOps, 分布式, 中间件, 开发工具, Git, IDE, 源码阅读&#xff0c;读书笔记, 开源项目...

WebRTC视频 04 - 视频采集类 VideoCaptureDS 中篇

WebRTC视频 01 - 视频采集整体架构 WebRTC视频 02 - 视频采集类 VideoCaptureModule WebRTC视频 03 - 视频采集类 VideoCaptureDS 上篇 WebRTC视频 04 - 视频采集类 VideoCaptureDS 中篇&#xff08;本文&#xff09; WebRTC视频 05 - 视频采集类 VideoCaptureDS 下篇 一、前言…

任务调度中心-XXL-JOB使用详解

目录 详解 调度中心 执行器 原理 快速入门 源码仓库地址 1.初始化数据库 2.配置调度中心 1.解压源码 2.需改配置文件 3.启动调度中心 3.配置执行器 1.引入pom依赖 2.修改配置文件 3.执行器组件配置 4.部署执行器项目 4.开发第一个任务 BEAN模式&#xff08;类…

如何搭建一台邮箱服务器,配置满分邮箱

如何搭建一台邮箱服务器,配置满分邮箱 搭建一台个人邮箱服务器听上去非常有技术含量&#xff0c;但只要准备工作充分&#xff0c;并且选择合适的软件&#xff0c;配置满分的邮箱&#xff0c;其实并没有想象中那么困难。在这篇文章中&#xff0c;我们将介绍搭建邮箱服务器的 必备…

C# unity 星期几 年月日控制

参考微软的datetime文档 正常输出是中文的周几&#xff0c;需要中文的星期几可以通过英文转中文实现 实现效果如图所示&#xff1a; 代码如下&#xff1a; public class TimeControl : MonoBehaviour{public TextMeshProUGUI TimeText01;public TextMeshProUGUI TimeText02…

linux病毒编写+vim shell编程

学习视频来自B站UP主泷羽sec&#xff0c;如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 请一定遵循《网络空间安全法》&#xff01;&#xff01;&#xff01; Linux目录介绍 /bin 二进制可执行文件&#xff08;kali里面是工具一些文件&#xff09;/etc 系统的管理和配置文…

C语言和C++的常量概念与区别分析

文章目录 &#x1f4af;前言&#x1f4af;常量的概念和作用&#x1f4af;C语言中 const 的应用与限制#define 和 enum 的使用方法 &#x1f4af;C 中 const 的计算方法和处理&#x1f4af;代码实例和应用区别&#x1f4af;C 和 C 的常量兼容性问题和负载&#x1f4af;分析 C 和…

PCHMI串口接收实验

插入的唯一一行代码 config1.START((Control)this, System.Reflection.Assembly.GetExecutingAssembly().GetTypes(), null);

【链路层】空口数据包详解(4):数据物理通道协议数据单元(PDU)

目录 一、概述 1.1. 头部&#xff08;Header&#xff09;结构 1.2. MIC字段的情况说明 1.3. 有效载荷&#xff08;Payload&#xff09;格式与LLID字段的关联 二、LL Data PDU 2.1. 定义与用途 2.2. 头部字段设置 2.3. 空PDU&#xff08;Empty PDU &#xff09; 2.4. 数…

动态规划子数组系列(二) 环形子数组的最大和

题目&#xff1a; 解析&#xff1a; 代码&#xff1a; public int maxSubarraySumCircular(int[] nums) {int sum 0;int n nums.length;int[] f new int[n1];int[] g new int[n1];int ret 0, fmax -0x3f3f3f3f, gmin Integer.MAX_VALUE;for(int i 1; i < n; i)…

网络工程师教程第6版(2024年最新版)

网络工程师教程(第6版)由清华大学出版社出版,由工业和信息化部教育与考试中心组编,张永刚、王涛、高振江任主编,具体介绍如下。 相关信息: 出版社: 清华大学出版社 ISBN:9787302669197 内容简介: 本书是工业和信息化部教育与考试中心组织编写的考试用书。本书 根据…