3

我刚刚设置了一个专用于 GitLab 的 Ubuntu 64 位服务器。

我已经成功安装了 GitLab,除了使用 Git 客户端(SmartGit)的 SSH 连接之外,一切似乎都正常。

我单击“克隆”,然后插入 ssh git URL:

git@mydomain.test:root/firstproject.git

当我单击“下一步”时,它给了我这个错误:

Please check the repository URL.

Could not read from remote repository.: /user/local/lib/ruby/2.0.0/net/http.rb:878:in 'initialize': getaddrinfo: Name of service not know (SocketError)
from /user/local/lib/ruby/2.0.0/net/http.rb:878:in 'open'
from /user/local/lib/ruby/2.0.0/net/http.rb:878:in 'block in connect'
from /user/local/lib/ruby/2.0.0/net/http.rb:878:in 'timeout'
from /user/local/lib/ruby/2.0.0/net/http.rb:878:in 'connect'
from /user/local/lib/ruby/2.0.0/net/http.rb:878:in 'do_start'
from /user/local/lib/ruby/2.0.0/net/http.rb:878:in 'start'
from /user/local/lib/ruby/2.0.0/net/http.rb:878:in 'get'
from /user/local/lib/ruby/2.0.0/net/http.rb:878:in 'allowed?'
from /user/local/lib/ruby/2.0.0/net/http.rb:878:in 'validate_access'
from /user/local/lib/ruby/2.0.0/net/http.rb:878:in 'exec'
from /user/local/lib/ruby/2.0.0/net/http.rb:878:in '<main>'
Please make sure you have the correct access rights and the repository exists.

我试图生成一个 SSH 密钥并将其放入,/home/git/.ssh/config但问题仍然存在。
我什至使用 Web 浏览器的 Gitlab 控制面板将其添加为“密钥”。

我曾尝试重新启动 GitLab 和 SSH,但没有帮助。HTTP 方法有效,但如果我同时提交和推送大量文件,则会出现错误:

The remote end hung up unexpectedly
The remote end hun up unexpectedly
RPC failed; result=22, HTTP code = 411

Counting objects: 89, done
Delta compression using up to 8 threads.
Total 88 (delta 12), reused 0 (delta 0)

我不需要解决这两个问题,我只需要让其中一个完全正常工作。

4

2 回答 2

2

从堆栈跟踪来看,似乎gitlab-shell无法在 DNS 中解析服务器自己的主机名,以使用 GitLab 的 Web API 验证存储库权限。尝试登录服务器并运行:

nslookup mydomain.test

其中“mydomain.test”是您gitlab_url:gitlab.yml. 如果您在输出中看到类似错误** server can't find mydomain.test,这就是您的问题。

如果是这样,您可以通过以下任一方式解决此问题:

  1. 通过编辑/etc/resolv.conf更正服务器的 DNS 配置,以便它可以正确解析您的主机名。您需要添加的 DNS 服务器取决于您的托管环境;您必须与管理您的网络的人交谈以找到正确的值。
  2. 更改gitlab_url为使用http://localhost/而不是外部可路由域名。
  3. 在服务器上的/etc/hostsmydomain.test中添加一个指向 127.0.0.1的条目。
于 2013-10-27T02:22:48.690 回答
0

确保这不是配置问题,如issue 3324中所述:

sudo -u git -H vim /home/git/gitlab-shell/config.yml

并改变:

gitlab_url: http://yourhost to gitlab_url: http://yourhost/

最后的斜线很重要。

于 2013-10-26T11:33:00.197 回答