ハドソンによって実行されたコードは、コマンドラインで実行可能ファイルを見つけることができません

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

  •  02-07-2019
  •  | 
  •  

質問

ハドソンで最初の仕事を設定していますが、いくつかの問題に直面しています。ジョブは2つのリポジトリを監視します。1つはDBセットアップファイルを含み、もう1つはDBセットアップファイルを検証およびテストする少しのコードです。

実行されるコードの一部は、Runtime.exec()を使用して、psqlコマンドラインツールを使用して、PostgreSQLで検証済みセットアップファイルをスローします。このコードは私のマシンでは完全に動作しますが、ハドソンがそれを実行すると(異なるマシン)次のエラーが表示されます:

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

psql.exeはパス上にあり、Hudsonがコードを実行しているのと同じ場所からコマンドラインですべてを入力することで実行できます。 psqlに渡されるファイルが存在します。

アイデアはありますか

役に立ちましたか?

解決

ハドソンまたはスレーブを起動するときに、プログラムをパスに含める必要があることがわかりました。ハドソンでパスを設定する機能があるにもかかわらず、機能していないようです。また、コマンドに完全なパスを入力することもできます。これは、とにかくセキュリティの観点からは本当に良い考えです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top