Jenkins マスターを実行している UNIX マシンがあり、Windows スレーブも構成しました。それはうまくいきます。しかし、groovy プラグイン (オプション システムの groovy スクリプト) を使用して groovy スクリプトを実行し、java.lang.ProcessBuilder を使用して maven コマンドを実行すると、次のようになります。
Caused by: java.io.IOException: java.io.IOException: error=2,
No such file or directory
at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
... 122 more
Build step 'Groovy Postbuild' marked build as failure
Finished: FAILURE
そして、例外が存在しないと言うディレクトリは、実際には存在します。
私の質問は、マスターがUNIXスレーブで実行されているときに、Windowsスレーブでgroovyスクリプトを使用してmavenコマンドを開始するにはどうすればよいですか?
Windowsでgroovyスクリプトを実行しているときに例外が発生する理由は推測java.lang.UNIXProcess
です(スクリプトファイル自体はWindowsスレーブと同じマシンにあり、それも正しいSystem.getEnv()
ことを確認しました)JAVA_HOME