java远程部署springboot项目,实现新建ssh会话、连接服务器、上传jar包、启动服务

import java.nio.charset.Charset;
import com.jcraft.jsch.Session;

import cn.hutool.extra.ssh.JschUtil;
import cn.hutool.extra.ssh.Sftp;


public class RemoteDeployment {
    
    
    
    private final static String sshHost = "127.0.0.1";  //服务器地址,这里定义服务器地址
    private final static int    sshPort = 22;			//服务器默认端口22			
    private final static String sshUser = "root";		//用户
    private final static String sshPass = "root";		//用户密码	
	
    //项目打包的位置,自己定义路径
    private final static String srcFilePath = "D:\\xxxx.jar";
    //服务器放入jar运行的位置
    private final static String destPath    = "/home/app";
	//定义执行脚本命令,我这里是已经定义了启动脚本start.sh;如果没有定义脚本,直接用java - jar xxx.jar即可
    private final static String cmd = "cd /home/app && ./start.sh restart";
    
    //main方法测试
    public static void main(String[] args) {
    
    
        
        // ssh连接,获得一个SSH会话,重用已经使用的会话 
        Session session = JschUtil.getSession(sshHost, sshPort, sshUser, sshPass);
        // 上传jar文件
        Sftp sftp = JschUtil.createSftp(session);
        sftp.put(srcFilePath, destPath);
        // 重启jar 
        String result = JschUtil.exec(session, cmd, Charset.defaultCharset());
        //关闭SSH连接会话
        JschUtil.close(session);
       
    }

}

Hutool工具真的很赞

猜你喜欢

转载自blog.csdn.net/qq_42697508/article/details/121053067