Code von Hudson laufen kann nicht ausführbar auf der Kommandozeile finden
-
02-07-2019 - |
Frage
Ich gründe meinen ersten Job in Hudson, und ich bin in einige Probleme laufen. Der Auftrag überwacht zwei Repositories, eine unserer DB-Setup-Dateien, der andere ein Stück Code enthält, die überprüft und testet die DB-Setup-Dateien.
Ein Teil des Codes, der die validierten Setup-Dateien in PostgreSQL, mit dem psql Kommandozeilen-Tool, mit Runtime.exec () werfen läuft wird. Dieser Code funktioniert perfekt auf meinem Rechner, aber wenn Hudson führt sie (andere Maschine) bekomme ich folgende Fehlermeldung:
java.io.IOException: Cannot run program "psql": CreateProcess error=2, The system cannot find the file specified
psql.exe ist auf dem Weg, und ich kann es ausführen, indem das Ganze in der Befehlszeile, von der gleichen Stelle eingeben Hudson den Code ausgeführt wird. Die Datei, die in psql weitergegeben werden ist gemeint vorhanden ist.
Irgendwelche Ideen?
Lösung
Ich finde, dass Sie das Programm im Pfad haben müssen, wenn Sie hudson oder den Slave starten. Trotz der Fähigkeit, den Weg in hudson setzt es nicht zu funktionieren scheint. Sie können auch den vollständigen Pfad in dem Befehl gegeben, der aus Sicht der Sicherheit ohnehin wirklich eine gute Idee ist.