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

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

本文分享 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.kler.cn/a/393079.html

相关文章:

  • “乡村探索者”:村旅游网站的移动应用开发
  • 【双人面经】python后端开发工程师--python基础,框架,数据库,消息队列等
  • [Python3] Sanic中间件
  • 【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版 (1)111
  • Vue.js前端框架教程11:Vue监听器watch和watchEffect
  • Doris 资源软硬限详解
  • CSS教程(二)- CSS选择器
  • 【stable diffusion模型】Stable diffusion模型分几种?一文详解,入门必看!
  • 达梦清空表数据,锁超时TRUNCATE TABLE EM;说明有上一个对话框没有提交
  • 【SQL】双层嵌套< exists not exists >
  • 超文本协议和内外网的划分(详见B站泷羽sec)
  • PostCSS 介绍
  • fastapi 查询参数支持 Pydantic Model:参数校验与配置技巧
  • 用户管理【MySQL】
  • 社区物资交易互助平台(程序+数据库+报告)
  • opencv(c++)图像的灰度转换
  • 【JVM】关于JVM的内部原理你到底了解多少(八股文面经知识点)
  • 推荐一款好用的postman替代工具2024
  • php 字符串与变量
  • web浏览器环境下使用window.open()打开PDF文件不是预览,而是下载文件?
  • 第四十五章 Vue之Vuex模块化创建(module)
  • 十大经典排序算法-希尔排序与归并排序
  • Ubuntu 安装和使用 1Panel
  • 电工电子原理笔记
  • 应用程序部署(IIS的相关使用,sql server的相关使用)
  • Java项目实战II基于微信阅读网站小程序的设计与实现(开发文档+数据库+源码)