2010-08-18 25 views
8

S'il y a quelqu'un qui peut m'aider à comprendre pourquoi ce repo git n'est pas le clonage qui serait incroyable. Je lance la même commande à partir du terminal qui fonctionne.Hudson git erreur ssh

J'espère trouver où je peux mettre le mot de passe pour que le serveur puisse authentifier la connexion.

S'il vous plaît et merci.

ERROR: Error cloning remote repo 'origin' : Could not clone ssh://[email protected]/usr/local/repository/kdm/git/TestCaseGenerator.git 
ERROR: Cause: Error performing /usr/bin/git clone -o origin ssh://[email protected]/usr/local/repository/kdm/git/TestCaseGenerator.git /var/lib/hudson/jobs/KDM_Test_Case_Generator/workspace 
Command returned status code 128: Initialized empty Git repository in /var/lib/hudson/jobs/KDM_Test_Case_Generator/workspace/.git/ 
No protocol specified 

(ssh-askpass:12523): Gtk-WARNING **: cannot open display: :0.0 
Host key verification failed. 
fatal: The remote end hung up unexpectedly 

Trying next repository 
ERROR: Could not clone repository 
FATAL: Could not clone 
hudson.plugins.git.GitException: Could not clone 
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:719) 
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:658) 
    at hudson.FilePath.act(FilePath.java:753) 
    at hudson.FilePath.act(FilePath.java:735) 
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:658) 
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1046) 
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479) 
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411) 
    at hudson.model.Run.run(Run.java:1248) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) 
    at hudson.model.ResourceController.execute(ResourceController.java:88) 
    at hudson.model.Executor.run(Executor.java:129) 
+0

l'avez-vous exécuté comme hudson depuis le terminal ou comme vous-même? –

+0

Hudson ne peut pas établir de connexion ssh car votre clé est protégée par un mot de passe. – Rudi

Répondre

8

Vous devez configurer une relation de confiance entre votre ssh repo et le serveur git.

Vous n'avez besoin de le faire qu'une seule fois.

En bref, il va qs suit:

Connectez-vous en tant qu'utilisateur exécutant hudson

ssh-keygen 

utiliser un mot de passe vide

Cela crée 2 fichiers dans .ssh: id_dsa et id_dsa.pub .

cat .ssh/id_dsa.pub 

Copiez maintenant le charabia représentant la clé publique.

ssh repo-server 

Confirmez que vous souhaitez ajouter la clé d'hôte à known_hosts. Connectez-vous en utilisant le compte accédant au repo.

cat - >>.ssh/authorized_keys 

(vérifiez que vous avez 2> 's ou risquer la colère de vos collègues) Ensuite, collez-le charabia que vous venez de copier.

Déconnectez-vous et vérifiez que vous pouvez maintenant envoyer un SMS sans avoir à entrer de mot de passe.

Cela fonctionne pour les hôtes basés sur Unix. Pour github, gitosis, windows le processus est similaire, mais bien sûr différent.

Hudson devrait maintenant pouvoir se connecter.

+0

Merci! J'avais eu du mal pendant un certain temps à ne pas comprendre pourquoi ma clé SSH ne fonctionnait pas, jusqu'à ce que je lis vos instructions, en particulier la ligne "Connectez-vous en tant qu'utilisateur running hundson" :-) – machineghost

0

Si cette URL est:

ssh://[email protected]:/usr/local/repository/kdm/git/TestCaseGenerator.git 

?

(deux points manquants après le « .net »)

+0

Si vous indiquez quel protocole utiliser "explicitement", ":" n'est pas nécessaire. –

0

Vous devez vérifier les éléments suivants:

  1. Vous utilisez des clés ssh de l'utilisateur qui a exécuté démon hudson. Par exemple, si utilisateur = hudson, vous devez vous connecter en tant que hudson et générer des clés ssh
  2. Vous avez chargé votre clé publique sur votre serveur (github, assembla) à partir du fichier .ssh/id_rsa.pub correct, c'est-à-dire.pour le même utilisateur qui a exécuté démon hudson
  3. Vous avez ajouté empreinte RSA de votre serveur à votre Si tout doit être juste, mais il est strangly ne fonctionne pas le fichier .ssh/known_hosts
0

, assurez-vous que votre projet est rallye construire sur l'esclave vous avez configuré