gitlab自托管大推失败致命:远程端意外挂断

时间:2016-10-16 10:30:56

标签: git ssh gitlab

我将新项目添加到gitlab自托管实例,但是:

  • 如果我尝试仅使用自述文件进行提交,则可以正常工作。
  • 如果我尝试使用大量文件进行大量提交,则会失败:

示例命令:

git push
Counting objects: 965, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (952/952), done.
Writing objects: 100% (965/965), 1.30 MiB | 1.51 MiB/s, done.
Total 965 (delta 479), reused 0 (delta 0)
Connection reset by x.x.x.x
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

顺便说一句,在服务器上,有一些进程正在运行并且永远等待推送完成......

gitlab   27227  0.0  0.0  95476  5220 ?        S    11:23   0:00 sshd: gitlab@notty
gitlab   27228  0.0  0.0   4508   708 ?        Ss   11:23   0:00 sh -c /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-shell key-1
gitlab   27229  0.0  0.0  30372  3796 ?        Sl   11:23   0:00 git-receive-pack /var/opt/gitlab/git-data/repositories/third-parties/MyThirdParty.git
gitlab   27241  0.0  0.0  23036  4208 ?        S    11:24   0:00 git index-pack --stdin --pack_header=2,965 --keep=receive-pack 27229 on dev --strict --fix-thin

我已经使用gitlab一段时间了,我从来没有见过这样的问题。

Push是通过SSH完成的,所以显然Http Post缓冲区的增加没有影响。 我试图找到一些与git ssh缓冲区相关的配置,但它似乎并不存在。

1 个答案:

答案 0 :(得分:0)

编辑Gitlab配置文件:

sudo nano /etc/gitlab/gitlab.rb

在Gitlab shell设置下

## GitLab Shell settings for GitLab
gitlab_rails['git_max_size'] = 104857600

只需选择一个足够高的数字。

更新正在运行的配置

sudo gitlab-ctl reconfigure

补充说明:我已经在SO和其他一些网站上阅读了人们试图直接修改Gitlab根目录中的配置文件...只是DON' T。它将被下一个重新配置覆盖。