jenkinsからshスクリプトを起動する必要があります。簡単ですが、私のスクリプトはJAVA_HOMEのシンボリックリンクを変更します。実際、shスクリプトを使用してJDKバージョンを切り替えます。ジェンキンスなしでジョブを起動すると機能しますが(ジョブはbashで書き込みます)、ジェンキンスでは機能しません...ジェンキンスは起動後にJAVA_HOMEを記憶し、このパスを使用します...ジェンキンスのshスクリプトからJAVA_HOMEを変更するにはどうすればよいですか?可能であれば、スクリプト呼び出しジェンキンスのリロード構成からのものである可能性があります...助けを借りてthx!
質問する
955 次
2 に答える
0
以下のようにしてみてください。
public static void execShellCmd(String cmd) {
try {
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec(new String[] { "/bin/bash", "-c", cmd });
int exitValue = process.waitFor();
System.out.println("exit value: " + exitValue);
BufferedReader buf = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = "";
while ((line = buf.readLine()) != null) {
System.out.println("exec response: " + line);
}
} catch (Exception e) {
System.out.println(e);
}
}
于 2012-09-20T05:52:51.887 に答える
0
問題が解決しました!!!魂はシンプルです。ジェンキンスジョブで次のようなshスクリプトを起動しました:./MY_SCRIPT.sh
その後、スクリプトがジェンキンスで起動し、JAVA_HOME の切り替えに問題が発生しました。
sh MY_SCRIPT.sh のような起動スクリプトを実行する必要があり、システムから smt のように起動されます。
于 2012-09-20T18:49:20.593 に答える