项目部署点一下按钮就可以,全流程自动化


我们平时在开发一些小项目的时候,有快速部署发布的这样的需求,我感觉最智能的方式可能是喊一声“发布”,应用程序就能自动打包发布到服务器上并运行起来。因为项目的规模比较小,我们可能不会应用到DevOps团队。我们希望有一个小工具,帮我们实现应用程序的快速上线。

Alibaba Cloud ToolKit就可以帮助我们就解决这个问题,但是我们还是得打一点小小的折扣,我们无法实现“喊一声”,但是我们可以实现“按一下”就发布应用程序。对于看文档感觉乏味的同学:点这里,这里有本文对应的操作《视频》

第一步:安装IDEA插件Alibaba Cloud ToolKit

IDEA File-> Settings-> Plugins->插件市场搜索alibaba-> 安装install Alibaba Cloud ToolKit。

插件安装完成之后,重启IDEA编辑器。

第二步:添加服务器

插件安装完成之后,在IDEA中找到“Alibaba Cloud View” 里面的Host的Tab框。

点击“Add Host”按钮之后弹出如下对话框,添加远程服务器主机IP及用户名密码。

添加完成之后多出一条Host记录

第三步:为服务器添加命令行

将一些在该服务器上经常使用的命令行,固化为command配置


点击command,执行添加命令行操作


对于应用部署,需要使用到如下两个命令行

# 删除历史启动的 server-jwt进程
ps -aux|grep -v grep |grep server-jwt| awk '{print $2}'|xargs kill -9;
# 用java 方式启动server-jwt-1.0.jar
nohup java -jar /root/server-jwt-1.0.jar &;

将上面的命令行中的“server- jwt”替换为你自己的应用的jar名称或唯一关键字即可。如果对于这两个命令完全无法理解,需要去学习shell脚本、nohup、awk脚本和java -jar启动方式等基础知识。

第四步:应用部署配置

需要部署的项目右键->Alibaba Cloud -> Deploy To Host,弹出如下对话框:

上图对话框红色区域中,从上到下、从左到右依次是:

  • 本次部署配置的名称:Name,配置固化下来之后可以复用
  • 在项目上传到服务器之前maven打包:Maven Build。也可以选择使用Gradle打包:Gradle Build或者手动打包之后上传文件:Upload File。
  • 选择远程部署的服务器的Ip,本文中第二步的配置结果
  • Target Directory:maven打包之后的文件上传目录(即应用部署目录):根据自己的主机路径规划填写。
  • After Deploy:当文件上传主机之后执行的shell脚本或命令行,我们这里选择执行nohup java -jar /root/server-jwt-1.0.jar &;启动应用。
  • Run Maven Goal :maven 的打包目标,先对父项目打包,再对子模块打包。如果不存在,就点击“+”新建,打包命令是“clean install”

除了应用打包、上传、启动之外,我们通常需要一些额外的动作。

  • 比如:之前已将发过一版,再次部署发版应该先把旧版本进程停掉。选择ps -aux|grep -v grep |grep server-jwt| awk '{print $2}'|xargs kill -9;命令行,第三步配置好的。
  • 比如:应用部署完成之后,应该立刻查看应用启动的日志,观察是否正常。

经过以上的配置之后,就可以实现应用程序“一键”打包、上传、启动、查看日志的效果。


原文链接:https://www.cnblogs.com/zimug/p/13417568.html