I have run gitlabhq rails server on virtual machine, following 1-6 steps from this tutorial https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md and starts rails server executing command sudo -u git -H bundle exec rails s -e production
. After that I created user, using admin tools and created new project under this user. Then I'm trying to push the existing project to this repo as always. But in the last step, git push origin master
fails with the error
[remote rejected] master -> master (pre-receive hook declined)
Additional info:
1) I haven't activated user (project owner) via email activation link, because I haven't configured post service on server-side and I didn't find instructions how to do that in this manual.
2) Gitlab server generates tips how to push project to repo and there is not repositories/
in path. I mean it generates git@mygitlabhost:user/repo.git
instead of git@mygitlabhost:repositories/user/repo.git
which is correct.
3) When i tried to debug it, I opened pre-receive
script inside repo on server and tried to output variables (there is 3 of them): refs = ARGF.read
, key_id = ENV['GL_ID']
and repo_path = Dir.pwd
and found, that key_id is always empty. Maybe the problem is here... If so, please give me suggestions on how to fix that. Thanks
GitLab by default marks master
branch as protected
(See part Protecting your code
in https://about.gitlab.com/2014/11/26/keeping-your-code-protected/ why). If so in your case, then this can help:
Open your project > Settings > Repository and go to "Protected branches", find "master" branch into the list and click "Unprotect" and try again.
via https://gitlab.com/gitlab-com/support-forum/issues/40
For version 8.11 and above how-to here: https://docs.gitlab.com/ee/user/project/protected_branches.html#restricting-push-and-merge-access-to-certain-users