Le code exécuté par Hudson ne peut pas trouver d'exécutable sur la ligne de commande

StackOverflow https://stackoverflow.com/questions/137243

  •  02-07-2019
  •  | 
  •  

Question

Je crée mon premier emploi à Hudson et je rencontre des problèmes. Le travail surveille deux référentiels, l’un contenant nos fichiers de configuration de base de données, l’autre un peu de code qui valide et teste les fichiers de configuration de base de données.

Une partie du code qui s'exécute lancera les fichiers d'installation validés chez PostgreSQL, à l'aide de l'outil de ligne de commande psql, à l'aide de Runtime.exec (). Ce code fonctionne parfaitement sur ma machine, mais lorsque Hudson l’exécute (machine différente), l’erreur suivante apparaît:

java.io.IOException: Cannot run program "psql": CreateProcess error=2, The system cannot find the file specified

psql.exe est sur le chemin, et je peux l'exécuter en tapant le tout dans la ligne de commande, à partir du même endroit où Hudson exécute le code. Le fichier destiné à être passé dans psql existe.

Des idées?

Était-ce utile?

La solution

Je trouve que vous devez avoir le programme dans le chemin lorsque vous lancez Hudson ou l’esclave. Bien qu’il soit capable de tracer la voie dans Hudson, cela ne semble pas fonctionner. Vous pouvez également mettre le chemin complet dans la commande, ce qui est de toute façon une bonne idée du point de vue de la sécurité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top