【问题标题】:How to run sh script from jenkins如何从詹金斯运行 sh 脚本
【发布时间】:2012-09-12 03:17:09
【问题描述】:

我需要从 jenkins 启动 sh 脚本,这很简单,但是我的脚本更改了 JAVA_HOME 的符号链接,实际上我使用 sh 脚本在 JDK 版本之间切换。当我在没有 jenkins 的情况下启动工作时它可以工作(在 bash 上编写的工作),但它不能在 jenkins 下工作......詹金斯在启动后记得 JAVA_HOME 并使用这个路径......我如何从 jenkins 下的 sh 脚本更改 JAVA_HOME ?如果可能的话,可能来自脚本调用 jenkins 重新加载配置......谢谢任何帮助!

【问题讨论】:

    标签: java linux jenkins hudson


    【解决方案1】:

    试试下面的方法;

        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

    【讨论】:

      【解决方案2】:

      问题解决了!!!解决方案很简单,我有在 jenkins 工作中启动的 sh 脚本,如下所示: ./MY_SCRIPT.sh

      在 jenkins 下启动该脚本后,我在切换 JAVA_HOME 时遇到了问题。

      所有需要做这样的启动脚本: sh MY_SCRIPT.sh 它会像从系统一样启动 smt。

      【讨论】:

        猜你喜欢
        • 2018-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多