通过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调用测试了
至此,已经全部完成! 这是一款很强大的插件,可以节省不少重复劳动力。