web-dev-qa-db-fra.com

Jenkins Git Plugin: Échec de la connexion au référentiel, code d'état renvoyé 128

J'essaie de cloner un référentiel d'entreprise GitHub distant et rencontre l'erreur suivante après avoir ajouté l'URL de mon référentiel distant au Git Plugin dans ma configuration Jenkins:

hudson.plugins.git.GitException: Command "/usr/bin/git -c askpass=true fetch --tags --progress https://github.com/myUsername/myProject.git  refs/heads/*:refs/remotes/Origin/*" returned status code 128: stdout: stderr: fatal: unable to access https://github.myOrg.com/myUsername/myProject.git/': Failed to connect to github.com port 443: Operation timed out    at... 

Détails de la configuration et choses que j'ai essayées:

  • Jenkins est l'URL par défaut de http: // localhost: 8080/ / (Obtention de l'avertissement: "Veuillez définir un nom d'hôte valide au lieu de localhost")
  • Toutes les dépendances listées ont été installées pour le Git Plugin
  • J'ai ajouté des informations d'identification git pour l'autorisation au repo distant de mon organisation.
  • J'ai essayé d'ajouter mes informations d'identification personnelles (compte git non-entreprise) et repo au plug-in avec le même résultat.
  • J'ai défini mon "Chemin d'accès à l'exécutable Git" sur "git" et "/ usr/bin/git" 
  • Je peux me connecter à Git à la fois en ligne de commande et dans le navigateur.

Des questions:

  • Suis-je censé fournir une authentification (clés ssh) uniquement pour que Jenkins puisse utiliser/cloner mon dépôt distant?
  • Pourquoi Jenkins envoie-t-il un avertissement pour avoir laissé l'URL par défaut? Est-ce que cela signifie que je dois "installer" Jenkins ailleurs que sur ma machine locale?

Je résous ce problème depuis quelques jours maintenant et je ne suis pas sûr de mes problèmes à ce stade! S'il vous plaît aider!

6
ebbfl0
  1. En ce qui concerne votre première question - vous devez associer la clé ssh correcte Au référentiel approprié. Vous pouvez le faire dans /var/lib/jenkins/.ssh/config fichier - détaillé l'explication estici c'est une solution plus robuste en termes de prise en charge de Plusieurs dépôts git OR, vous pouvez simplement ajouter la clé ssh correcte dans le dossier /.ssh Pour le dépannage, essayez d’effectuer un clone github repo sous jenkins user Dans votre boîte jenkins.

  2. En ce qui concerne votre 2ème question. Voici mes paramètres réseau dans Jenkins Et je n'ai aucun message d'avertissement: /etc/hosts: 127.0.0.1 localhost localhost.localdomain/etc/sysconfig/network: HOSTNAME=localhost.localdomain. Votre nom d’hôte et votre hôte local doivent également être résolus sur le serveur jenkins.

4
Dmitry Savinkov

C'est un peu étrange mais si vous utilisez gitlab.com, il semble que l'erreur ait disparu lorsque vous vous connectez au site Web (gitlab.com) à l'aide du compte gitlab utilisé pour cloner le projet depuis Jenkins.

1
gersonZaragocin

Le problème a été résolu. Étapes suivies ici pour le nouveau keygen. Connecté au terminal en tant que: jenkins $ (Sudo -i -u jenkins). J'ai finalement pu ajouter des clés nouvellement générées à /Users/Shared/Jenkins/.ssh/id_rsa(. j'essayais de reproduire la façon dont mes autres clés ssh étaient stockées sur mon mac dans /Users/me/.ssh).

  • J'ai également dû restreindre les niveaux d'autorisations sur le dossier de clé SSH ci-dessus pour éviter une erreur d'authentification avec le ssh -T..et ajouté à git -> paramètres du compte -> clé ssh (spécifiquement pour jenkins). 

  • Après cela, je suis allé dans Jenkins/configure et j'ai ajouté mon nouvel emplacement de clé privée à CVS. Dans mon projet, je devais ajouter des informations d'identification (nom d'utilisateur SSH avec clé privée) avec le bouton radio "À partir du maître Jenkins ~/.ssh" sélectionné. 

1
ebbfl0