lijiahangmax / orion-ops

一站式自动化运维及自动化部署平台, 使用多环境的概念, 提供了机器管理、机器监控报警、Web终端、WebSftp、机器批量执行、机器批量上传、在线查看日志、定时调度任务、应用环境维护、应用构建及发布任务、操作流水线等功能, 帮助企业实现一站式轻量化运维治理, 致力于企业级应用的智能运维。
https://ops.orionsec.cn/
Apache License 2.0
358 stars 106 forks source link

执行构建脚本是否可以不建立宿主机连接? #36

Closed haopenge closed 1 year ago

haopenge commented 1 year ago

本身后端程序运行在宿主机上,没有必要耗时建立连接后,执行构建脚本; 贴一下可以参考的本地执行脚本代码:

    /**
     * 执行cmd 命令
     * @param cmds cmd 命令行
     */
    public static void exec(String... cmds){
        try {
            // 构造 ProcessBuilder 对象,指定要执行的命令
            ProcessBuilder builder = new ProcessBuilder(cmds);
            // 将错误输出合并到标准输出
            builder.redirectErrorStream(true);

            // 启动进程并等待执行完成
            Process process = builder.start();
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                // 实时输出脚本的标准输出
               log.info(line);
            }
            // 等待进程结束并获取退出码
            int exitCode = process.waitFor();
            log.info("cmds exit code =  " + exitCode);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }