J'ai un dépôt GIT sur bitbucket, auquel je veux que mon serveur Jenkins accède automatiquement. Cela est uniquement possible en utilisant l'authentification par clé publique/privée. J'ai donc créé une paire de clés et téléchargé la clé publique sur bitbucket. Les clés publique et privée sont sur mon serveur dans le dossier .ssh de l'utilisateur tomcat exécutant jenkins. Je suis capable de cloner mon projet lorsque je suis connecté en tant qu'utilisateur sur le serveur.Comment se connecter au dépôt git bitbucket depuis jenkins
Cependant, je ne parviens pas à faire en sorte que jenkins extrait réellement le code de bitbucket. Il dit toujours:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Eh bien, je suppose que cela se produit parce que lorsque vous accédez au dépôt sur ssh-je fournir le mot de passe pour ma clé privée et jenkins est incapable de le faire automatiquement. Je lis qu'il est possible d'éviter beeing demandé le mot de passe en fournissant un fichier de configuration dans le dossier .ssh contenant le contenu suivant:
Host bitbucket.org
IdentityFile ~/.ssh/id_dsa
je l'ai fait, mais dès que je fournis ce fichier je ne peux pas cloner plus longtemps le dépôt de bitbucket. Pas même directement à partir du serveur, en recevant le même message d'erreur comme indiqué ci-dessus.
Est-ce que quelqu'un a réussi à faire fonctionner cette configuration? J'ai aussi lu le fil suivant ici sur stackoverflow qui ne m'était d'aucune utilité: How do i set a private ssh key for hudson/jenkins to access bitbucket? et j'ai vérifié que tomcat fonctionne vraiment sous l'utilisateur tomcat6 en créant un projet de test vide qui exécute simplement "whoami". Donc, je suis à peu près hors des idées pour résoudre le problème.
Merci pour l'aide. Cela a vraiment résolu le problème. – ali
@ali, Bien que, si jenkins n'a besoin que d'un accès en lecture seule, n'y a-t-il pas d'autres moyens d'accéder à votre dépôt que d'utiliser ssh? – jamessan
non. Le plugin jenkins git ne fournit pas d'autres moyens. – ali