IDEA提供了三种方式:Maven Build,Upload File,Gradle Build,虽然我的SpringBoot项目使用的是Maven构建工具,但是我一般情况下选择Upload File的方式。因为我的项目是多模块项目,选择Maven Build方式的话IDEA并不知道需要上传的是哪个jar包(因为在每个模块下都会生成自己的jar包)。
使用Upload File特别需要注意的一点是,我们需要在自动部署之前先手动打个jar包,这样我们才能选择我们想上传的jar包,这一步并不意味着我们会上传刚刚手动打包的文件,只是告诉IDEA以后上传的文件的目录和名称而已。
手动打包的方式
然后选择你想上传的jar包即可,如下图
如果你之前配置过远程服务器的信息,直接选择即可,跳过配置的步骤;
如果没有配置,那你需要先配置一下
点击左下角的Manage Host按钮,此时应该弹出如下界面,如果没有弹出,找到下图中的按钮点击即可
点击Add Host按钮,填写你的主机信息
其中,验证方式有两种
填写完之后,点击测试链接状况,查看是否链接成功,成功的话点击添加按钮;否则检查配置信息直到添加成功为止。
配置完服务器信息你就能选择你的主机了,如下图所示,选中它,然后点击Select即可
就是说你想把jar放在服务器的哪个目录下
从名字看出来,这是让我们设置deploy之后的动作,IDEA理解的deploy只是把你要上传的文件传到服务器上而已。
接下来点击Select Command按钮,选择你要运行的命令,如果你之前配置过,那就选择就好了;没配置过的话,点击下图中的按钮,填写你想执行的指令。这里的指令其实就是你在终端中运行的指令,比如执行一个脚本文件,或者执行一些linux内置的命令等等
我个人的习惯是在部署的文件夹下配置启动脚本,start.sh
和stop.sh
# start.sh nohup java -jar zh-sensor-protocol.jar >/dev/null 2>&1 & echo "服务启动成功"
# stop.sh PID=$(ps -ef | grep zh-sensor-protocol.jar | grep -v grep | awk '{ print $2 }') if [ -z "$PID" ] then echo Application is already stopped else echo kill -9 $PID kill -9 $PID fi
如此一来,我会在IDEA中配置如下命令
这一步指的是在部署动作正式启动之前,你想执行什么操作。还记得之前我们选择的上传的文件吗,这一步是得到那个文件的关键了。
我们点击+按钮,选择Run Maven Goal选项
然后配置如下信息,因为我们是部署Spring Boot项目所以才选择的Maven选项,其他项目部署灵活选择即可。
到此为止,我们就已经配置完了,接下来就行部署。
部署结果