我在这里有一个很酷的gitlab设置:
但是,当执行“ git clone”或“ git pull”时,如果存储库的大小> 10 Mib,则失败。
ubuntu~/Projects/git/myRepo(master|✔) % git pull
Username for 'https://example.org': [email protected]
Password for 'https://[email protected]@example.org':
remote: Counting objects: 7798, done.
remote: Compressing objects: 100% (4132/4132), done.
fatal: The remote end hung up unexpectedlyiB | 222 KiB/s
fatal: early EOF
fatal: index-pack failed
看来它能够复制大约8Mib的数据,并且最多可以运行30秒。该问题每次都可以重现,并且一遍又一遍地显示出相同的故障征兆。
我已经阅读:http : //jinsucraft.wordpress.com/2013/01/08/when-github-git-clone-fails-with-early-eof-and-index-pack-failed/并尝试过:
git config --global http.postBuffer 524288000
在客户端上无济于事。
任何人知道这可能导致什么?
造成此问题的原因可能是超时问题(或类似的限制,例如,数据量):服务器端发生超时,这关闭了http连接,从而导致客户端“早期EOF”错误消息。可以在多个地方配置此类超时(我在这里列出它们是因为其他Web服务器可能具有类似的设置,因此它们可能会提示您在哪里看):
在Unicorn配置中增加超时应该可以解决您的问题。请记住,并行请求的数量也受Unicorn限制。克隆大型存储库会阻止一个请求,但几乎不会导致CPU负载。如果您的gitlab服务器没有高流量配置文件,则应考虑增加worker_process
数量。
附带说明:该gitlab.yml
配置还提供了git timeout;这个超时限制了git操作,例如计算多个提交的差异。克隆/拉动对超时没有影响。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句