このチュートリアルの1-6の手順に従って、仮想マシン上でgitlabhq railsサーバーを実行しました。https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.mdそしてコマンドを実行してレールサーバーを起動しますsudo -u git -H bundle exec rails s -e production
。その後、管理ツールを使用してユーザーを作成し、このユーザーの下に新しいプロジェクトを作成しました。そして、いつものように既存のプロジェクトをこのリポジトリにプッシュしようとしています。しかし、最後のステップでgit push origin master
エラーが発生して失敗します。
[リモート拒否] マスター -> マスター (受信前フックが拒否されました)
追加情報:
1) サーバー側で投稿サービスを設定しておらず、このマニュアルにその手順が見つからなかったため、電子メールのアクティベーション リンクを使用してユーザー (プロジェクト所有者) をアクティベートしていません。
2) Gitlab サーバーは、プロジェクトをリポジトリにプッシュする方法に関するヒントを生成しますが、repositories/
パスにはありません。git@mygitlabhost:user/repo.git
代わりに、git@mygitlabhost:repositories/user/repo.git
どちらが正しいかを生成します。
3) デバッグしようとしたとき、pre-receive
サーバーのリポジトリ内のスクリプトを開いて変数 (3 つあります) を出力しようとしました: refs = ARGF.read
、key_id = ENV['GL_ID']
およびrepo_path = Dir.pwd
、key_id が常に空であることがわかりました。問題はここにあるのかもしれません... もしそうなら、それを修正する方法を教えてください。ありがとうございます
ベストアンサー1
GitLabはデフォルトでブランチmaster
をprotected
(Protecting your code
コードを保護するなぜでしょうか。もしそうなら、これが役に立つかもしれません:
プロジェクト > 設定 > リポジトリを開いて「保護されたブランチ」に移動し、リストから「master」ブランチを見つけて「保護解除」をクリックし、もう一度試してください。
経由https://gitlab.com/gitlab-com/サポートフォーラム/問題/40
バージョン 8.11 以降の方法については、こちらをご覧ください。https://docs.gitlab.com/ee/user/project/protected_branches.html#restricting-push-and-merge-access-to-certain-users