Bonjour,
Dans le cadre de la mise en place d'un outil de report automatique (jigomerge) entre branches svn, je cherche à automatiser le process. Pour cela, je dispose d'une machine (ubuntu server) sur laquelle un tomcat est installé. Hudson est également installé et tourne par le biais de tomcat.
Je cherche donc à lancer mes reports de branche depuis hudson. La commande est la suivante :
Afin de me connecter à cette machine linux, je dispose de l'utilisateur pic. Lorsque j'execute manuellement la commande précédente à la main avec l'utilisateur pic, tout se passe bien. Malheureusement, lorsque je lance la commande depuis hudson, j'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 groovy /home/pic/report/jigomerge.groovy -S mabranche -u user -p Password
En fouillant un peu, je me suis aperçu que lors de l'exécution du script par hudson, celui-ci utilisait un user différent du mien pour réaliser les taches. J'en ai donc conclu qu'en me loggant sur la machine ubuntu avec le user hudson et en lançant une commande svn manuellement, je pourrais alors accepter le certificat de manière permanente et ainsi résoudre mes soucis.svn: OPTIONS of 'https://server/svn/repo': Server certificate verification failed: certificate issued for a different hostname, issuer is not trusted (https://server)
Malheureusement, je n'ai pas accès à ce user. Le mot de passe semble avoir été égaré... ça aurait été trop facile... par ailleurs, je ne suis pas certain de tenir le bon user (anonymous ou tomcat6..) et il me semble délicat de réinitialiser le mot de passe
Bref, j'ai donc opté pour une stratégie de contournement : passer en super-utilisateur pour lancer la commande
La encore, un problème survient : la commande sudo exige un mot de passe, le script échoue donc. Toutefois /etc/sudoers semble permettre à un utilisateur de lancer des commandes sans mot de passe. Temporairement, j'ai retiré le mot de passe sur la commande sudo pour tester. Par la suite, il semble que ce fichier puisse permettre le lancement d'une commande à partir d'un utilisateur en se faisant passer pour un autre et sans avoir à saisir de password.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sudo groovy /home/pic/report/jigomerge.groovy -S mabranche -u user -p Password
Le script se lance bien mais une fois encore, l'erreur de certificat apparait. (j'ai pourtant bien validé le certificat manuellement en root) Devant, ce nouvel échec, j'ai alors pensé à modifier le script groovy afin de faire en sorte que les commandes svn accepte automatiquement les certificats qui étaient proposés... sans plus de succès...
Je sèche, auriez vous des idées ?svn --non-interactive --trust-server-cert





Répondre avec citation
Partager