web-dev-qa-db-fra.com

Gitlab Push. Vous n'êtes pas autorisé à accéder à master

J'ai mis en place mon propre serveur (à la maison) et je l'atteins via PuTTY sur mon PC principal.

Gitlab est installé et configuré, je peux accéder à gitlab et me connecter . Mais lorsque j'essaie de transférer des fichiers (via HTTP) vers mon propre projet, le message suivant s'affiche:

POST git-receive-pack (381 bytes)
remote: GitLab: You are not allowed to access master![K
remote: error: hook declined to update refs/heads/master[K
To http://myserver.com/root/Push2jump.git
 ! [remote rejected] master -> master (hook declined)
error: failed to Push some refs to 'http://myserver.com/root/Push2jump.git'

J'utilise HTTP au lieu de SSH parce que j'obtiens "Accès refusé", donc, fondamentalement, ni ne fonctionne.

Quand je cours 

Sudo bundle exec rake gitlab:check Rails_ENV=production

Cela me dit que le script Sidekiq n'est pas en cours d'exécution (ce que je n'arrive pas à corriger, je ne sais pas s'il est lié à ce problème) Bien sûr, il me dit que le référentiel est vide. Le reste semble bien.

J'ai vérifié 

.ssh/authorized_keys

Ce qui semble correct également, la clé est la même que ma clé sauvegardée.

Et mon repos_path dans gitlab-Shell/config.yml semble bon, sans utiliser de lien symbolique:

repos_path: /home/git/repositories/

J'ai exécuté le guide d'installation officiel de Gitlab.

Quelqu'un peut-il m'aider avec ce problème? Merci d'avance

METTRE À JOUR 

System information
System:         Ubuntu 12.04
Current User:   git
Using RVM:      no
Ruby Version:   2.0.0p481
Gem Version:    2.0.14
Bundler Version:1.6.2
Rake Version:   10.3.1
Sidekiq Version:2.17.0

GitLab information
Version:        6.9.2
Revision:       e46b644
Directory:      /home/git/gitlab
DB Adapter:     mysql2
URL:            ***
HTTP Clone URL: ***/some-project.git
SSH Clone URL:  ***:some-project.git
Using LDAP:     no
Using Omniauth: no

GitLab Shell
Version:        1.9.4
Repositories:   /home/git/repositories/
Hooks:          /home/git/gitlab-Shell/hooks/
Git:            /usr/local/bin/git
16
AuStrike

J'ai eu ce problème parce que j'avais master comme branche protégée

Protect branch won't accept Push

Une fois que je n'ai pas protégé la branche, j'ai pu pousser bien

36
Neil

J'avais des symptômes très similaires et j'ai résolu le problème en changeant d'adhésion au projet. Le message d'erreur que j'ai reçu de TurtoiseGit après une tentative de poussée était le suivant:

git.exe Push --progress "Origin" master: master

Comptage d'objets: 14, fait. Compression delta utilisant jusqu'à 4 threads . Objets compressés: 100% (7/7), c'est fait. Objets d'écriture: 100% (8/8), 857 octets | 0 octet/s, fait. Total 8 (delta 3), réutilisé 0 (delta 0)

remote: GitLab: Vous n'êtes pas autorisé à accéder à master! distance: erreur: hook a refusé de mettre à jour les références/chefs/maîtres  

Pour [email protected]: datascience/compliance.git! [éloigné rejeté] maître -> maître (crochet refusé) erreur: échec de pousser certains référence à '[email protected]: datascience/compliance.git'

git n'est pas sorti proprement (code de sortie 1) (33181 ms @ 27/06/2014 09:50:32)

Dans les pages d’administration de gitlab, j’ai constaté que je n’étais pas membre du projet auquel j’ai essayé de pousser. J'étais membre du groupe du projet, mais pas du projet.

Après que je me suis ajouté en tant que membre du projet, mon Push a réussi sans erreur.

0
howanu

dans mon cas, c'est parce que le port de Unicorn était occupé par un autre processus Java, ajoutez cette ligne Unicorn ['port'] = 8090 dans /etc/gitlab/gitlab.rb et exécutez: Sudo gitlab- ctl reconfigurer

0
zhaozhi

Tuez-le et recommencez avec l'édition Omnibus de Gitlab.

La seule chose à faire est que vous deviez l'exécuter sur un Ubuntu 64 bits - vous ne savez pas pourquoi ils n'ont pas un 32 bits, mais vous y êtes.

J'avais plongé dans l'enfer de réinstaller-ré-installer-essayer jusqu'à ce que je vienne avec l'édition Omnibus.

Deux choses "ennuyeuses": l'installation Omnibus de Gitlab utilise le serveur Web Nginx plutôt qu'Apache (mais il y a une bonne raison à cela étant donné que Nginx n'ouvre pas de nouveau processus pour chaque connexion) ... et il utilise PostgreSQL plutôt que MySQL pour sa base de données. Pour une utilisation à la maison/au bureau, vous pouvez évidemment installer PostgreSQL et MySQL sur le même ordinateur. Moins évident est de savoir comment exécuter Apache et Nginx, ou vraiment, comment obliger Nginx à exécuter plusieurs serveurs virtuels tout en maintenant Gitlab.

0
Phil Ryan

Je viens d'avoir l'erreur You are not allowed to access master! sur un référentiel que je possédais. Aucun des paramètres de branche protégée n'avait changé. Le problème semblait se produire juste après une sauvegarde du serveur GitLab. le serveur était peut-être en mauvais état. Après avoir vérifié ma configuration GitLab, j'ai pu à nouveau appuyer sur:

gitlab-rake gitlab:check

Guide de dépannage de GitLab . Observé ce problème sur GitLab 7.4.3.


Au début, je pensais que c'était un problème de branche protégé. Il semblait étrange que j'ai perdu l'accès à une branche de référentiel dont j'étais propriétaire. Après la désactivation de la protection sur la branche, un Push entraînait toujours le même problème d'accès. Restaurer la branche protégée m'a laissé dans le même état. J'ai effectué le contrôle GitLab (mentionné ci-dessus) qui semblait résoudre le problème.

0
jdknight