web-dev-qa-db-fra.com

Jenkins a renvoyé le code d'état 128 avec github

avec la commande github j'ai

ssh -T [email protected]
Hi (MyName)! You've successfully authenticated, but GitHub does not provide Shell access.

ma connexion avec github est ok pas de problème, mais avec Jenkins j'ai cette erreur

ERROR: Error cloning remote repo 'Origin' : Could not clone [email protected]:Name-MysRepo/MyRepo.git
hudson.plugins.git.GitException: Could not clone [email protected]:Name-MysRepo/MyRepo.git
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.clone(CliGitAPIImpl.Java:219)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.Java:1001)
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.Java:942)
    at hudson.FilePath.act(FilePath.Java:904)
    at hudson.FilePath.act(FilePath.Java:877)
    at hudson.plugins.git.GitSCM.determineRevisionToBuild(GitSCM.Java:942)
    at hudson.plugins.git.GitSCM.checkout(GitSCM.Java:1101)
    at hudson.model.AbstractProject.checkout(AbstractProject.Java:1369)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.Java:676)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.Java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.Java:581)
    at hudson.model.Run.execute(Run.Java:1575)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.Java:477)
    at hudson.model.ResourceController.execute(ResourceController.Java:88)
    at hudson.model.Executor.run(Executor.Java:241)
Caused by: hudson.plugins.git.GitException: Command "git clone --progress -o Origin [email protected]:Name-MysRepo/MyRepo.git /root/.jenkins/jobs/TestKRGDAOV01/workspace" returned status code 128:
stdout: Cloning into '/root/.jenkins/jobs/TestKRGDAOV01/workspace'...

stderr: Permission denied (publickey).
fatal: The remote end hung up unexpectedly

pourquoi ce problème avec publickey J'utilise Jenkins sous Tomcat7/ubuntu 12help s'il vous plaît 

48
nizar ouerghi

Cette erreur:

stderr: permission refusée (publickey). fatal: l'extrémité distante a raccroché de façon inattendue

indique que Jenkins tente de se connecter à github avec la mauvaise clé ssh.

Vous devriez:

  1. Déterminez l'utilisateur sous lequel jenkins s'exécute, par exemple. 'build' ou 'jenkins'
  2. Connectez-vous à l'hôte jenkins qui tente de créer le clone, c'est-à-dire ne vous connectez pas au maître si un nœud est en train de le créer.
  3. Essayez-vous ssh à github - si cela échoue, vous devez ajouter la clé appropriée à /.ssh
41
imdibiji

À vérifier sont les suivants:

  1. si la clé publique de droite (id_rsa.pub) est chargée sur le serveur git.
  2. si la clé privée droite (id_rsa) est copiée dans /var/lib/jenkins/.ssh/
  3. si le fichier known_hosts est créé dans le dossier ~/.ssh. Essayez ssh -vvv [email protected] pour voir les journaux de débogage. Si tout se passe bien, github.com sera ajouté à known_hosts.
  4. si l'autorisation de id_rsa est définie sur 700 (chmod 700 id_rsa)

Après toutes les vérifications, essayez ssh -vvv [email protected].

11
Tim Long

Dans mon cas, je devais ajouter la clé publique à mon dépôt (chez Bitbucket) ET utiliser git clone une fois via ssh pour répondre par l'affirmative à la question "hôte connu" la première fois.

4
etunko

Assurez-vous également que vous utilisez l’URL ssh github et non le https

2
Roberto

il y a quelque temps, je rencontrais le même problème… Je m'assurais que votre clé SSH ne possède pas de mot de passe et n'utilisait pas de compte utilisateur commun (par exemple, un compte utilisateur appelé Jenkins ou autre).

vérifier l'article suivant http://fourkitchens.com/blog/2011/09/20/trigger-jenkins-builds-pushing-github

2
olexii

J'ai changé la permission de mon .ssh/id_rsa (clé privée) en 604 . Chmod 700 id_rsa

0
Rajat Srivastava

J'ai supprimé mon projet (dossier racine) et l'ai créé à nouveau. C'était le moyen le plus rapide et le plus simple dans mon cas.

N'oubliez pas de sauvegarder toutes vos modifications avant de supprimer votre projet!

0
Mikhail Grunko