IDEA一键部署SpringBoot项目到服务器

1. 安装Alibaba Cloud Toolkit插件

IDEA一键部署SpringBoot项目到服务器

2. 配置部署环境

IDEA一键部署SpringBoot项目到服务器

IDEA一键部署SpringBoot项目到服务器

IDEA一键部署SpringBoot项目到服务器

2.1 为本次部署设置一个名字

2.2 选择被部署文件的生成方式

IDEA提供了三种方式:Maven BuildUpload FileGradle Build,虽然我的SpringBoot项目使用的是Maven构建工具,但是我一般情况下选择Upload File的方式。因为我的项目是多模块项目,选择Maven Build方式的话IDEA并不知道需要上传的是哪个jar包(因为在每个模块下都会生成自己的jar包)。

使用Upload File特别需要注意的一点是,我们需要在自动部署之前先手动打个jar包,这样我们才能选择我们想上传的jar包,这一步并不意味着我们会上传刚刚手动打包的文件,只是告诉IDEA以后上传的文件的目录和名称而已。

手动打包的方式

IDEA一键部署SpringBoot项目到服务器

然后选择你想上传的jar包即可,如下图

IDEA一键部署SpringBoot项目到服务器

2.3 选择目标服务器

2.3.1 配置过了?直接选择

如果你之前配置过远程服务器的信息,直接选择即可,跳过配置的步骤;

IDEA一键部署SpringBoot项目到服务器

如果没有配置,那你需要先配置一下

2.3.2 没配置过?那就配置服务器

IDEA一键部署SpringBoot项目到服务器

点击左下角的Manage Host按钮,此时应该弹出如下界面,如果没有弹出,找到下图中的按钮点击即可

IDEA一键部署SpringBoot项目到服务器

IDEA一键部署SpringBoot项目到服务器

点击Add Host按钮,填写你的主机信息

IDEA一键部署SpringBoot项目到服务器

其中,验证方式有两种

  • Password:就是通过密码校验你的身份
  • Select a Private Key:通过本地密钥文件验证你的身份

填写完之后,点击测试链接状况,查看是否链接成功,成功的话点击添加按钮;否则检查配置信息直到添加成功为止。

配置完服务器信息你就能选择你的主机了,如下图所示,选中它,然后点击Select即可

2.4 填写文件传输的目标目录(Target Directory)

就是说你想把jar放在服务器的哪个目录下

2.5 配置After deploy

从名字看出来,这是让我们设置deploy之后的动作,IDEA理解的deploy只是把你要上传的文件传到服务器上而已。

接下来点击Select Command按钮,选择你要运行的命令,如果你之前配置过,那就选择就好了;没配置过的话,点击下图中的按钮,填写你想执行的指令。这里的指令其实就是你在终端中运行的指令,比如执行一个脚本文件,或者执行一些linux内置的命令等等

IDEA一键部署SpringBoot项目到服务器

我个人的习惯是在部署的文件夹下配置启动脚本,start.shstop.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中配置如下命令

IDEA一键部署SpringBoot项目到服务器

2.6 Before launch

这一步指的是在部署动作正式启动之前,你想执行什么操作。还记得之前我们选择的上传的文件吗,这一步是得到那个文件的关键了。

我们点击+按钮,选择Run Maven Goal选项

IDEA一键部署SpringBoot项目到服务器

然后配置如下信息,因为我们是部署Spring Boot项目所以才选择的Maven选项,其他项目部署灵活选择即可。

IDEA一键部署SpringBoot项目到服务器

到此为止,我们就已经配置完了,接下来就行部署。

3. 开始部署

IDEA一键部署SpringBoot项目到服务器

部署结果

IDEA一键部署SpringBoot项目到服务器
大功告成!


完。

上一篇:双击jar不能运行的解决方法


下一篇:SpringBoot & Maven 依赖、配置分离打包