2012-11-02 57 views
2

我得到了GitLab的安装和配置。我将我的公钥添加到我的帐户,然后添加了一个项目。不幸的是,该项目似乎并没有存在于Gitolite中,我的密钥似乎也没有添加(不在gitolite/keydir或.ssh/authorized_keys中)。GitLab没有与Gitolite交互

GitLab没有抱怨,项目创建正常。权限是正确的,根据gitlab:应用程序:地位,但它说,post_receive文件丢失的项目..这是不足为奇的,因为有在/ home/git的/库

[email protected]:~$ bundle exec rake gitlab:app:status RAILS_ENV=production 
Starting diagnostics 
config/database.yml............exists 
config/gitlab.yml............exists 
/home/git/repositories/............exists 
/home/git/repositories/ is writable?............YES 
remote: Counting objects: 6, done. 
remote: Compressing objects: 100% (4/4), done. 
remote: Total 6 (delta 0), reused 0 (delta 0) 
Receiving objects: 100% (6/6), done. 
Can clone gitolite-admin?............YES 
UMASK for .gitolite.rc is 0007? ............YES 
/home/git/.gitolite/hooks/common/post-receive exists? ............YES 
Validating projects repositories: 
Herp.....post-receive file missing 
rake aborted! 
unexpected return 

Tasks: TOP => gitlab:app:status 
(See full trace by running task with --trace) 

编辑没有工程: gitolite管理员回购确实存在。我能够既克隆gitolite管理员回购和在该目录中写:

[email protected]:~$ git clone [email protected]:gitolite-admin.git /tmp/gitolite-admin 
Cloning into '/tmp/gitolite-admin'... 
remote: Counting objects: 6, done. 
remote: Compressing objects: 100% (4/4), done. 
Receiving objects: 100% (6/6), 751 bytes, done. 
remote: Total 6 (delta 0), reused 0 (delta 0) 

[email protected]:~$ mkdir /home/git/repositories/test 
[email protected]:~$ touch /home/git/repositories/test/asdf 

我茫然和GitLab不能作为一个结果。我该怎么办?我不确定哪里可以开始寻找。

在此先感谢。

+0

没有项目在'/ home/git/repositories':是否至少有gitolite管理员回购? – VonC

+0

@VonC是的,gitolite管理员回购存在。我能够克隆gitolite管理员仓库并写入该目录 – Salis

+1

好的,我正在安装GitLab(最新来自'master':3.0.3)我自己(在RedHat框中),最新版本Gitolite(V3.x)。我会测试和报告。 – VonC

回答

3

对于我来说,这个问题的根源是,提交给gitolite管理员回购分别被拒绝:

2012-11-05.18:54:07  gitlab 127.0.0.1  git-receive-pack 'gitolite-admin' 
2012-11-05.18:54:07  gitlab 127.0.0.1  Die generated at line 251 in /home/git/bin/gl-compile-conf : <<newline>>    ***** ABORTING *****<<newline>>  git config core.sharedRepository not allowed<<newline>>check GL_GITCONFIG_KEYS in the rc file for how to allow it<<newline>> <<newline>> 

当我如果/home/git/.gitolite.rc检查GL_GITCONFIG_KEYS我发现该变量的值为空字符串。我不得不手动更改:

$GL_GITCONFIG_KEYS = ".*"; 

(我从迁移的sed线外推为issue 1769规定 - 我认为在给定的sed线路断线)

对于gitolite V3,你可能需要设置这个变量而不是

$GIT_CONFIG_KEYS = '.*'; 

添加此变量修复了我的问题。

编辑:另类的问题和解决方案通过japgolly建议是,安装说明忘了一步:

sudo -u gitlab git config --global user.name Gitlab 
sudo -u gitlab git config --global user.email [email protected] 

这也导致承诺gitolite管理员失败(默默)