本文分享 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 是个工具,不是目的。这时候可以考虑寻求官方的技术服务支持!

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部