2012-09-19 102 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。