我正在尝试在全新的干净服务器上设置gitlab(6.5.1)。一切似乎正常,但是git无法推送到任何项目。遵循新创建的项目页面上的命令,并通过ssh推送到远程,可以得到:
$ git push -u origin master
fatal: Could not read from remote repository.
Please make sure you have the correct access
rights and the repository exists.
这似乎是一个相当普遍的问题。不幸的是,它似乎有许多潜在原因,但似乎都没有。从 旧发行版的3424问题和在线的其他各种来源中,我已经看到并检查了以下建议:
剩余的SSH密钥
这是一个干净的设置,没有剩菜。我的密钥已正确添加到授权密钥文件中,并且是唯一列出的密钥。
在调试日志中运行ssh会显示与Ruby环境var相关的错误。
我的就干净了。SSH调试显示连接成功。有关身份验证握手的所有内容都是正常的,然后这是输出的结尾:
debug1: Sending command: git-receive-pack 'username/reponame.git' debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0 debug1: channel 0: free: client-session, nchannels 1 debug1: fd 0 clearing O_NONBLOCK debug1: fd 1 clearing O_NONBLOCK
gitlab-shell环境的问题。
与上面具有相同错误消息的许多其他脚本不同,我的gitlab-shell检查脚本返回了完整的健康清单:
% sudo -u gitlab -H ~gitlab/gitlab-shell/bin/check Check GitLab API access: OK Check directories and files: /var/lib/gitlab/repositories: OK /var/lib/gitlab/.ssh/authorized_keys: OK Test redis-cli executable: redis-cli 2.8.5 Send ping to redis server: PONG
重新启动{unicorn,sidekiq,redis}
重新启动一项或多项服务可以清除此问题的报告似乎不适用于此处。这不是守护程序修复的间歇性问题。
回购没有实际创建
但它是。每次都是第一次,每次
~gitlab/repositories/username/reponame.git
都会创建裸git repo,并且似乎具有正确的权限。Gitlab-shell无法与API服务器通信,因为A)DNS问题,B)错误的ip /端口/接口绑定C)没有/具有斜杠。
检查脚本说API访问很好。
我没有运行nginx,因此与此相关的默认ip绑定问题为n / a。
我已经尝试了两者,
*:8080
并尝试了127.0.0.1:8080
中的监听值unicorn.yml
。除此之外,我尝试了localhost,127.0.0.1和全限定域名(DNS可以很好地解析)的各种迭代,
shell.yml
无论是否使用斜杠都无济于事。我还尝试将其直接连接到端口8080上的unicorn服务器,而不是端口80上的Apache SSL /代理主机。似乎没有什么区别。我的证书不是自签名的,并且可以在浏览器上正常工作,但是self_signed_cert: true
无论如何我都尝试设置。没有。报告的git路径错误,请从gitlab用户主页添加完全限定的路径。
如果gitlab-shell并没有做任何事情来纠正这个问题,这似乎是一个合法的建议,但是我尝试更改
git remote add origin gitlab@server:username/reponame.git
为``git remote add origin gitlab @ server:repositories / username / reponame.git`无济于事。同样的错误。
这似乎是建议的解决方案的连串,但似乎都不对。注意我可以推送http。登录提示接受我的ldap用户名和密码,并接受推送。这只是尝试使用SSH的问题。仅测试ssh登录部分即可ssh -T gitlab@server
正常工作。
还有什么可能导致此错误?
如何在gitlab中调试此类问题?似乎根本没有任何相关内容~gitlab/gitlab-shell/gitlab-shell.log
。在哪里可以找到更多有用的错误消息?