Gitlab-error: RPC failed; result=22, HTTP code = 500 解决

本贴最后更新于 316 天前,其中的信息可能已经时移俗易

操作 GitLab 进行日常代码推拉的过程中,突然遇到如标题所述异常,这篇博客记录这个问题的解决办法

场景复现

对 GitLab 私有仓库进行代码 push 操作,产生如下异常信息:

Counting objects: 875, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (523/523), done.
Writing objects: 100% (875/875), 42.94 MiB | 9.72 MiB/s, done.
Total 875 (delta 206), reused 2 (delta 0)
error: RPC failed; result=22, HTTP code = 500
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

GitLab 官方对此 issue 的反馈信息:https://gitlab.com/gitlab-org/gitlab-ce/issues/12629

查看官方 issue 后,可以发现官方对此问题的解决方式基本是以下两种方案:

两种方案操作成本都很昂贵,不可接受

问题出现原因

因为 GitLab 本身自己封装了 nginx、Redis 等工具,包括这些工具的配置也一并解决,所以在推代码的过程中,如果一次性提交的 commit 体积过大,超出 max package 的限定值,那么可能会产生上述异常

而绝对不是 nginx 或者操作系统本身的问题

但变更 GitLab 配置又是一件非常麻烦的事情,所以这里换一种思路:我们不依赖 http 协议进行上传,换用 SSH 协议便可以绕开这个问题

新的解决办法

新的解决办法:变更提交方式为 SSH 即可

具体操作步骤:

  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    165 引用 • 1779 回帖 • 403 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    35 引用 • 67 回帖 • 2 关注

赞助商 我要投放

回帖
请输入回帖内容 ...