我们在我的工作地点有一个本地托管的GitLab企业版(目前在v7.12.00-ee ceb5083)。我可以通过GUI创建存储库而不会出现问题。但是当我尝试向存储库添加任何内容时,我收到此错误:
D:\ws\testing [master]> git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 219 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: GitLab: API is not accessible
To http://gitlab.ops.cld/duffrw/testing.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'http://gitlab.ops.cld/duffrw/testing.git'
我在/var/log/gitlab/gitlab-shell/gitlab-shell.log
文件中看到API没有响应,并且给出了“内部服务器错误”:
E, [2015-07-22T16:05:51.812454 #15110] ERROR -- : API call <POST http://127.0.0.1:8080/api/v3/internal/allowed> failed: 500 => <{"message":"500 Internal Server Error"}>.
几个问题......我在哪里可以离开?必须有某种服务提供商没有运行。为什么不?它叫什么?我该如何开始?
我检查了/var/log/gitlab/nginx/gitlab_access.log
并发现了这些行,但我没有看到任何有趣的内容:
172.31.201.164 - - [22/Jul/2015:16:05:50 +0000] "GET /duffrw/testing.git/info/refs?service=git-receive-pack HTTP/1.1" 401 0 "-" "git/1.9.5.msysgit.1"
172.31.201.164 - - [22/Jul/2015:16:05:50 +0000] "GET /duffrw/testing.git/info/refs?service=git-receive-pack HTTP/1.1" 401 0 "-" "git/1.9.5.msysgit.1"
172.31.201.164 - duffrw [22/Jul/2015:16:05:51 +0000] "GET /duffrw/testing.git/info/refs?service=git-receive-pack HTTP/1.1" 200 179 "-" "git/1.9.5.msysgit.1"
172.31.201.164 - duffrw [22/Jul/2015:16:05:51 +0000] "POST /duffrw/testing.git/git-receive-pack HTTP/1.1" 200 124 "-" "git/1.9.5.msysgit.1"
在/var/log/gitlab/nginx/gitlab_error.log
中推送此存储库没有任何错误,/var/log/gitlab/nginx/error.log
完全为空。
我错过了什么?
更新
使用gitlab-ctl tail
命令非常方便!它显示了一个堆栈跟踪,我发送给GitLab,他们告诉我这是7.12.00中的错误。它固定在7.13.00。
答案 0 :(得分:22)
如果使用gitlab.com,则服务器正在更新或出现问题。
您可以查看https://status.gitlab.com以获取GitLab团队的更新。
您还可以关注Twitter帐户:https://twitter.com/gitlabstatus
答案 1 :(得分:6)
您必须在GitLab的配置文件中为GitLab API设置正确的URL。
正如我们在gitlab-shell.log
中看到的,您的API地址目前设置为http://127.0.0.1:8080/
。如果更改运行GitLab的默认URL或更改了其默认端口,则必须更改它。
此参数可在/etc/gitlab/gitlab.rb
中配置:
## GitLab URL
##! URL on which GitLab will be reachable.
##! For more details on configuring external_url see:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
external_url 'http://127.0.0.1:3000'
[...]
这是默认值(因为端口3000
是unicorn
的GitLab综合中的默认值。更新后,您必须运行sudo gitlab-ctl reconfigure
才能应用此参数。
它将覆盖文件opt/gitlab/embedded/service/gitlab-shell/config.yml
,如其标题评论中所述。
答案 2 :(得分:4)
我们在&#34;计算引擎&#34;上托管我们的gitlab时遇到过这个问题。来自谷歌云。 这种行为的原因是没有&#34;交换&#34;在我们的机器中配置。 Gitlab无法分配额外的内存。
我们决定扩大内存而不是创建交换分区,但这是您的选择...... :)
答案 3 :(得分:2)
我曾经在gitlab.com上遇到过这个问题,但这不是可靠性,只是我试图用--force
推送到master分支,并且它是受保护的(请参阅的设置中的“受保护的分支”存储库)。
答案 4 :(得分:1)
我们最近经常遇到这种情况。它肯定是GitLab耗尽内存。我们还无法确定GitLab是否泄漏了内存,或者我们的服务器实例是否配置不足。
答案 5 :(得分:1)
重启gitlab服务修复我的问题。
sudo gitlab-ctl restart
sudo gitlab-ctl reconfigure
答案 6 :(得分:0)
我在Bitnami遇到了同样的问题。我重新启动了所有内容并使用
解决了这个问题/opt/bitnami/ctlscript.sh restart