J'essaie de configurer gitlab (6.5.1) sur un nouveau serveur propre. Tout semble fonctionner, mais git est incapable de pousser vers n'importe quel projet. Suivre les commandes de la page de projet nouvellement créée et pousser vers la télécommande via ssh donne:
$ git push -u origin master
fatal: Could not read from remote repository.
Please make sure you have the correct access
rights and the repository exists.
Cela semble être un problème assez courant. Malheureusement, il semble avoir un certain nombre de causes potentielles et aucune ne semble correspondre. Depuis le numéro 3424 d'une ancienne version et de diverses autres sources en ligne, j'ai vu et vérifié les suggestions suivantes:
Clés ssh restantes
Il s'agit d'une configuration propre sans restes. Ma clé a été ajoutée correctement au fichier de clés autorisées et est la seule répertoriée.
L'exécution de ssh avec la journalisation du débogage affiche des erreurs liées aux variables d'environnement Ruby.
Le mien est propre. Le débogage SSH montre une connexion réussie. Tout ce qui concerne la négociation de l'authentification est normal, alors c'est la fin de la sortie:
debug1: Sending command: git-receive-pack 'username/reponame.git' debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0 debug1: channel 0: free: client-session, nchannels 1 debug1: fd 0 clearing O_NONBLOCK debug1: fd 1 clearing O_NONBLOCK
Problèmes avec l'environnement gitlab-shell.
Contrairement à beaucoup d'autres avec le même message d'erreur ci-dessus, mon script de vérification gitlab-shell renvoie un bilan de santé propre:
% sudo -u gitlab -H ~gitlab/gitlab-shell/bin/check Check GitLab API access: OK Check directories and files: /var/lib/gitlab/repositories: OK /var/lib/gitlab/.ssh/authorized_keys: OK Test redis-cli executable: redis-cli 2.8.5 Send ping to redis server: PONG
Redémarrez {unicorn, sidekiq, redis}
Les rapports selon lesquels le redémarrage d'un ou de plusieurs services efface ce problème ne semblent pas s'appliquer ici. Ce n'est pas un problème intermittent que la relecture d'un démon corrige.
Le dépôt n'est pas créé physiquement
Mais il est. La première fois à chaque fois, le dépôt nu git
~gitlab/repositories/username/reponame.git
est créé à chaque fois et semble avoir les autorisations correctes.Gitlab-shell ne peut pas parler au serveur API car A) des problèmes DNS, B) une liaison ip / port / interface incorrecte C) ne pas avoir / avoir une barre oblique de fin.
Le script de vérification indique que l'accès à l'API est correct.
Je n'exécute pas nginx, donc le problème de liaison IP par défaut lié à cela est n / a.
J'ai essayé les deux
*:8080
et127.0.0.1:8080
pour la valeur d'écouteunicorn.yml
.Au-delà de cela, j'ai essayé diverses itérations de localhost, 127.0.0.1 et le nom de domaine complet (qui résout très bien le DNS) avec et sans barres obliques en
shell.yml
vain. J'ai également essayé de câbler ceci directement au serveur licorne sur le port 8080 au lieu de l'hôte Apache SSL / proxy sur le port 80. Rien ne semble faire de différence. Mon certificat n'est pas auto-signé et fonctionne bien pour les navigateurs, mais j'aiself_signed_cert: true
quand même essayé de le configurer . Rien.Les chemins git signalés sont incorrects, ajoutez un chemin qualifié complet depuis la page d'accueil de l'utilisateur gitlab.
Cela semble être une suggestion légitime si le gitlab-shell ne fait pas quelque chose de singe pour corriger cela déjà, mais j'ai essayé de changer
git remote add origin gitlab@server:username/reponame.git
en `` git remote add origin gitlab @ server: repositories / username / reponame.git` en vain. Même erreur.
Cela semble être la litanie de solutions suggérées, mais aucune ne semble juste. Notez que je peux pousser sur http. L'invite de connexion accepte mon nom d'utilisateur et mon mot de passe LDAP et accepte un push. Ce n'est qu'un problème en essayant d'utiliser SSH. Tester juste la partie de connexion ssh avec ssh -T gitlab@server
fonctionne très bien.
Quoi d'autre pourrait être à l'origine de cette erreur?
Comment procéder pour déboguer un tel problème dans gitlab? Il ne semble rien y avoir de pertinent du tout ~gitlab/gitlab-shell/gitlab-shell.log
. Où trouver un message d'erreur plus informatif?