IDEA一键部署插件Alibaba Cloud Toolkit一键部署java应用到远程服务器

各种方式对比:

  • 传统部署:频繁切换各种工具,每个流程操作繁琐;
  • 部分集成插件部署:无法实现完全自动化,还是要切换工具,即使所有流程全都使用插件,也会频繁在插件之间切换,还是很繁琐,每次都需要把完整的流程重复操作一次;
  • 持续部署:大部分工作可以在一个流程里完成,但是持续部署可能比较冗余,比如代码质量检查、单元测试运行等,而且还是要频繁切换工具查看进度、日志等;
  • 一键部署:适合开发阶段简单部署,回归纯粹,一次配置重复使用。

IDEA插件

一个简单的例子

这个插件是阿里云团队为提高阿里云用户开发部署效率而开发的,因此内置了很多阿里云相关的支持,当然也友情支持部署到主机、Docker、K8s等,这里只记录部署到主机的过程,其他过程非常类似。

一、添加主机

---
添加完成后,主机会显示在列表中,供后续步骤选择使用。

二、新建部署模板

  • 点击下拉三角

  • 选择Edit Configurations

1、mvn clean install

2、上传文件到远程服务器

命令解析:
nohup java -jar -Dfile.encoding=UTF-8 Owtools.jar >> nohup.out 2>&1 &

    nohup : 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
    -Dfile.encoding=UTF-8 : Utf-8 编码运行。
    >> nohup.out 2>&1 & : 将运行日志 重定向到 nohup.out文件中。
        指令 > : 如果文件存在,将原来文件的内容覆盖;原文件不存在则创建文件,再添加信息。 
		指令 >>:不会覆盖原文件内容,将内容追加到文件的尾部

三、杀掉启动的进程 并打开滚动日志

命令解析:
ps -ef | grep Owtools.jar | grep -v grep | awk '{print $2}' | xargs kill -9
 
    tail -f nohup 
命令作用
ps -ef | grep xxx.jar找到所有 xxx.jar的进程
grep -v grep过滤包含 grep 的进程行
awk '{print $2}'提取找到的进程行记录中第二列的参数,也就是flask的进程号
xargs kill -9把前面的参数都传递给后面的命令 kill -9
tail -f nohup查看并持续更新该文件

4、点击ok,结束

5、启动

选择对应的配置并启动
所有流程自动运行,构建完成后会自动新建一个run窗口,显示部署进度。
end