借助IDEA一键部署项目到服务器中
项目部署的几种方式:
- 通过jar包部署
- 通过git拉取代码在服务器运行部署
- 通过docker直接打包镜像系统进行部署
ps: 本文属于jar包部署(适用于:小型项目,单模块/多模块项目)
以前通过jar包部署项目时,我们总是:
- 本地打包->上传到服务器->kill掉以前的服务->重新启动jar包服务
总是循环这一系列的操作,于是博主就想,这都是一些固定的流水线操作,对于流水线型的操作最适合交给程序去做,我们只需要把那些个必要变量(路径/端口)抽离出来变成外部配置文件,这样我们就完全可以实现自定义流水线操作.说干咱就干.
通过查阅大量的博客资料博主发现IDEA中的Alibaba Cloud Toolkit
插件刚好满足博主的需求.
下载插件博主不多说,能看到这篇文章的不会还不会下载插件吧,不会吧不会吧.下载完成之后我们就可以来配置了.首先我们需要打开Alibaba Cloud Toolkit
的HOST控制面板
打开之后长这个样婶儿咧!
然后我们点击ADD HOST
按钮
在图片中我也说过了,这里的配置只是我们能确保点击之后把jar包上传到指定服务器中的指定位置,但是jar包的运行还是需要一个部署后的脚本命令来执行的.
这里博主是写了一个简单的脚本文件,这里的脚本是用root用户来运行的,如果不是root用户,看了脚本也应该就知道该怎么去改了
#!/bin/bash
# $1 是插件上边配置的路径参数
# $2 是项目运行的端口号
jarPath=$(find "$1" -name '*.jar')
portPid=$(netstat -anp | grep "$2" | awk '{printf $7}' | cut -d/ -f1)
if [ -n "$portPid" ]; then
kill -9 "$portPid"
fi
java -jar "$jarPath" > "$1"/project.log 2>&1 &
- $1参数是上传的jar包路径
- $2参数是项目运行的端口号
把这个脚本内容粘贴到服务器的(/home/project/deploy-jar.sh),然后就可以去配置插件中我们刚刚看到的command命令那一行了.
此时我们只需要在③中填入bash /home/project/deploy-jar.sh /home/project/tianbo/tianbo-admin 8080
点击ok一路ok下去就真的ok啦
在需要的时候点击绿色的三角就可以直接执行了