IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Intégration Continue Discussion :

Exécution ligne de commande batch [Hudson]


Sujet :

Intégration Continue

  1. #1
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut Exécution ligne de commande batch
    Bonjour,

    J'ai un petit souci en tentant d'utiliser une ligne de commande batch window via un job Hudson, ligne de commande qui elle-même utilise un programme externe.

    La ligne de commande en question est la suivante (utilisation de putty pour faire de l'exécution de commandes sur un server distant via SSH):

    putty -ssh -2 -P 22 USERNAME@SERVEUR_ADDR -pw PASSWORD -m commandes.txt

    Cette ligne de commande fonctionne très bien si je la lance via l'invite de commande window. Le fichier 'commandes.txt' contenant la liste des instructions shell à exécuter sur le serveur distant (pour l'exemple il ne fait que écrire "coucou" dans un fichier 'coucou.txt')

    Lorsque j'intègre cette ligne de commande dans un job, puis lance un build de ce job, le job tourne plus ou moins indéfiniement sans rien faire. Je suis obligé de l'arrêter à la main. Evidemment, la ligne de commande n'a pas fonctionnée, rien n'est écrit sur le serveur.

    Putty est dans le classpath d'Hudson bien sûr, donc pas de problème de reconnaissance de la syntaxe 'putty' (quand bien même un message d'erreur apparaitrait dans l'affichage des traces consoles sous Hudson)

    Est-ce que quelqun a une idée du pourquoi ça ne fonctionne pas à partir d'Hudson ? N'est-t-il pas permis d'utiliser des programmes externes sous forme de lignes de commande via Hudson ?

    Merci.

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 350
    Points : 794
    Points
    794
    Par défaut
    Est-ce que la ligne de commande est bien automatisée? C'est-à-dire que l'invocation de la ligne de commande ne requière aucune intervention manuelle (saisie, appuyer sur une touche entrée, ...).

  3. #3
    kij
    kij est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Points : 157
    Points
    157
    Par défaut
    Bonjour,

    Désolé d'avoir oublié cette discussion.

    Depuis j'ai effectivement trouvé d'où venait l'erreur, et comme tu l'as si bien souligné gboissinot, ça venait du fait que le serveur lançait une acceptation de certificat lors de la connexion.
    En lançant via l'invite de commande window je n'avais pas cette demande d'acceptation de certificat, mais via Hudson si. En gros, Hudson ne sait pas gérer le cache de la machine j'ai l'impression et donc ne récupérait pas le certificat déjà existant.

    Du coup, j'ai utiliser une autre version de putty qui s'appelle 'plink' (basée sur putty) et qui permet de faire à peu de choses prêt les mêmes trucs que putty, mais avec plus d'option, notamment une option permettant d'accepter automatiquement les demande d'acceptation de certificat.

    Résumé solution:
    - télécharger la dernière version de plink
    - installer localement
    - mettre à jour le PATH de la machine (variable environnement)
    - lancer la commande suivante sous Hudson, en remplacement de la commande putty:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    plink -auto_store_key_in_cache -ssh -2 -P 22 USER@SERVER -pw PASS -m FICHIER_COM
    USER, SERVER et PASS étant des variables de jobs Hudson (job paramétrable)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Barre d'état IE8 en ligne de commande (batch)
    Par larose51 dans le forum IE
    Réponses: 0
    Dernier message: 03/04/2013, 11h55
  2. [XL-2002] Ligne de Commande Batch afficher Usf Excel
    Par vaucluseimmo dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 13/01/2010, 20h13
  3. Réponses: 23
    Dernier message: 11/09/2008, 18h31
  4. [SQL-Server] exécution mssql_connect() en ligne de commande
    Par turinico dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/11/2005, 18h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo