2012-09-19 137 views
0

我需要從jenkins啓動sh腳本,這很簡單,但我的腳本更改了JAVA_HOME的符號鏈接,實際上是使用sh腳本在JDK版本之間切換。它工作時,我沒有jenkins工作(工作寫在bash上),但它不工作在jenkins下...詹金斯記得啓動後使用JAVA_HOME,並使用此路徑...我怎麼能更改jenkins下sh腳本的JAVA_HOME?可能來自腳本調用jenkins重新加載配置,如果可能的話... thx任何幫助!如何從jenkins運行sh腳本

回答

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); 
     } 
    } 

有關詳細信息:Shell Script Running with java

0

問題解決了!我已經在詹金斯工作推出的腳本是這樣的: ./MY_SCRIPT.sh

然後在jenkins下啓動的腳本和我在切換JAVA_HOME時遇到了問題。

所有需要做的啓動腳本是這樣的: sh MY_SCRIPT.sh 它會從系統啓動smt。