通过idea插件一键将jar包发布到阿里云服务器部署

1、概述

我们在开发的时候,经常需要发包到线上进行部署,发布的jar包到服务端需要经过:编译 → 打包 → 上传包到服务器 → 启动jar包等一系列的操作,虽然很简单,但是频繁重复换包的时候还是比较麻烦的,重复很多简单无用的动作。

IDEA为我们提供了一个比较好的插件Alibaba cloud toolkit,能够一键发布,并运行jar包等远程命令;配置好以后,再发布项目只用点击一下就行了,很方便!

2、插件

2.1 安装Alibaba cloud toolkit插件

安装完成之后,重启idea生效

2.2 配置

在IDEA工具的最低栏找到Alibaba cloud view进行主机的配置,点击Add Host

配置host list表示主机ip「可多个」,填写 username:用户名 和 password:密码

也可以选择私钥进行连接

配置好以后,点击Test Connection进行连接测试

出现Test succeeded就表示配置成功了

到此为止,基本的配置已经全部完成了,如下:

3、验证

3.1 新建一个springboot项目

项目自动编译打包上传并运行

输入一个str然后进行提示,效果如下:

3.2 配置并将项目发布到阿里云上

选择idea的Tools找到Deploy To Host

ip可以多选,目前我就一个ip,选中之后点击select就行了

之后需要设置这个jar包上传到那个目录,也就是远程主机的那个目录,在Target Directory中进行设置。设置后可以选择一个脚本对这个jar进行操作,也就是选择select command;第一次可以先添加Add Command

nohup java -jar demo-0.0.1-SNAPSHOT.jar &

还可以选择在运行这些命令之前对maven的操作,也就是在上传包之前,maven需要做些什么,可以选择那个项目,选择填写maven命令 之后点击Apply就行了;如果点击OK的话,命令会直接执行的,如果不想直接执行,就点击Apply就行了~~

亦可通过.sh进行部署(不用手动到控制台kill掉原有进程)

restart.sh内容

#!/bin/bash
echo "************ 查找进程 **************"
pid=`ps -ef | grep "demo-0.0.1-SNAPSHOT.jar" | grep -v grep | awk {print $2}`
if [ -n "$pid" ]; then
        echo $pid Manager
        kill -9 $pid
        if [ "$?" -eq 0 ]; then
                echo "kill success"
        else
                echo "kill failed"
        fi
        echo "************ 杀掉进程 **************"
fi
nohup java -jar /admin/webapps/demo-0.0.1-SNAPSHOT.jar > nohup.log 2>&1 &
echo "************ 启动成功 **************"
exit 0

3.3 验证

如果确认配置没有问题之后,可以先选择之前配置的项目,然后再点击绿色的三角进行运行,之后注意观察控制台

控制台一共有三栏提示,第一个就是maven的命令结果,看到BUILD SUCCESS就是表示之前设置的命令已经成功了

第二栏

第三栏 表示已经启动成功,可以进行api调用测试了

至此,已经全部完成! 这是一款很强大的插件,可以节省不少重复劳动力。

经验分享 程序员 微信小程序 职场和发展