2010-04-21 12 views
1

J'ai ma configuration de serveur Hudson CI. J'ai un repo CVS que je peux seulement vérifier des trucs via ssh. Mais je ne vois aucun moyen de convaincre Hudson de vérifier via ssh. J'ai essayé toutes sortes d'options en fournissant ma chaîne de connexion.Comment obtenir Hudson CI pour vérifier les projets CVS sur SSH?

Quelqu'un at-il fait cela? Je dois penser que cela a été fait.

+0

Pouvez-vous répertorier certaines des chaînes de connexion qui n'ont pas fonctionné? –

+0

L'avez-vous essayé manuellement à partir de la machine sur laquelle tourne Hudson? De préférence sous le même compte utilisateur que Hudson utilise. Ça a marché? Jetez également un oeil à la page suivante: http://www.mtu.net/~engstrom/ssh-cvs.php –

+0

Cela fonctionne manuellement, à la fois sous mon propre compte et root (sur le serveur hudson). J'utilise même la même commande qui est produite dans la construction hudson. Je l'ai même mis en place pour que ces deux comptes puissent sortir avec des mots de passe en mettant ma clé publique sur le serveur cvs. Les chaînes de connexion que j'ai sont les caractéristiques: @: je tire tout droit de mon CVS_HOME. J'ai expérimenté en utilisant les trucs: ext: protocol au début. Je suppose que je ne suis pas sûr de ce que Hudson va exécuter. Sera-ce le Tomcat? – bender

Répondre

2

Si je me souviens encore de CVS, je pensais que vous deviez définir la variable d'environnement CVS_RSH à ssh. Je suppose que vous devez définir ceci pour que votre processus Tomcat hérite de cette valeur.

Vous pouvez vérifier les informations du système Hudson pour voir exactement ce que les variables d'environnement de la machine virtuelle Java est de voir

1

J'ai écrit un article qui aborde cela, vous pouvez le trouver ici (et passe le long de la construction.): http://www.openscope.net/2011/01/03/configure-ssh-authorized-keys-for-cvs-access/

Essentiellement, vous voulez configurer des clés SSH sans passe pour votre utilisateur de construction. Cela permettra à l'authentification de se produire sans avoir besoin de trouver un moyen de saisir votre mot de passe.

< Édition > Essentiellement le client de clé standard .ssh & installation/échange de serveur. http://en.wikipedia.org/wiki/Secure_Shell#Key_management

pour le compte utilisateur de jenkins:

  • installer la clé (publique partie privée &) utilisateur dans ~/.ssh (générer frais ou utiliser la clé utilisateur existant)

sur cvs serveur:

  • installer la clé utilisateur (partie publique) dans ~/.ssh
  • ajouter à authorized_keys

retour sur jenkins compte utilisateur:

  • cvs d'accès de ligne de commande en tant qu'utilisateur de jenkins et accepter la clé d'hôte à distance (à known_hosts) * Notez tout moment serveur distant change clé/IP, vous devez accéder manuellement cvs et accepter à nouveau la touche *

</modifier >

Il existe une autre façon de le faire, mais vous devez vous connecter manuellement depuis la machine de construction à votre serveur cvs et garder la session ssh ouverte pour que hudson/jenkins puisse greffer la connexion. Semblait un peu inutile pour moi mais puisque vous voulez que votre serveur CI soit le moins possible.