2

GitLab をインストールして構成しました。アカウントに公開鍵を追加してから、プロジェクトを追加しました。残念ながら、プロジェクトは Gitolite には存在しないようであり、私のキーが追加されたようにも見えません (.gitolite/keydir または .ssh/authorized_keys にはありません)。

GitLab は文句を言いません。プロジェクトは正常に作成されています。gitlab:app:status によると、パーミッションは正しいですが、プロジェクトの post_receive ファイルが見つからないと表示されます.. /home/git/repositories にプロジェクトがないため、これは当然のことです

gitlab@server:~$ 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-admin リポジトリは存在します。gitolite-admin リポジトリのクローンを作成し、そのディレクトリに書き込むことができます。

gitlab@server:~$ git clone git@localhost: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)

gitlab@server:~$ mkdir /home/git/repositories/test
gitlab@server:~$ touch /home/git/repositories/test/asdf

私は途方に暮れており、その結果、GitLab は使用できません。私は何をしますか?どこから探し始めたらいいのかわからない。

前もって感謝します。

4

1 に答える 1

3

私にとって、この問題の根本は、gitolite-admin リポジトリへのコミットが拒否されていたことです。

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.rcGL_GITCONFIG_KEYSたところ、変数の値が空の文字列であることがわかりました。手動で変更する必要がありました:

$GL_GITCONFIG_KEYS = ".*";

(問題1769で指定されている移行sed行から推測しました-指定されたsed行が壊れていると思います)

gitolite v3 では、代わりにこの変数を設定する必要があるかもしれません

$GIT_CONFIG_KEYS = '.*';

この変数を追加すると、問題が解決しました。

編集: japgoly が提案する別の問題と解決策は、インストール手順で手順が忘れられていることです。

sudo -u gitlab git config --global user.name Gitlab
sudo -u gitlab git config --global user.email gitlab@localhost

これにより、gitolite-admin へのコミットも (サイレントに) 失敗します

于 2012-11-05T18:11:59.727 に答える