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


    我们平时在开发一些小项目的时候,有快速部署发布的这样的需求,我感觉最智能的方式可能是喊一声“发布”,应用程序就能自动打包发布到服务器上并运行起来。因为项目的规模比较小,我们可能不会应用到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;命令行,第三步配置好的。
    • 比如:应用部署完成之后,应该立刻查看应用启动的日志,观察是否正常。

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

    欢迎关注我的博客,里面有很多精品合集

    • 本文转载注明出处(必须带连接,不能只转文字):字母哥博客

    觉得对您有帮助的话,帮我点赞、分享!您的支持是我不竭的创作动力! 。另外,笔者最近一段时间输出了如下的精品内容,期待您的关注。

  • 相关阅读:
    《破茧成蝶》读书笔记——价值
    《破茧成蝶》读书笔记——技能(2)
    《破茧成蝶》读书笔记——技能(1)
    《破茧成蝶》读书笔记——信念
    《HeadFirst:HTML & CSS(第二版)》——开篇废话
    图片旋转方法
    uploadify 3.0 详细使用说明
    提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
    Sql 中 不等于'<>'与 NULL
    c#中获取存储过程的返回值(return Value)
  • 原文地址:https://www.cnblogs.com/zimug/p/13417568.html
Copyright © 2020-2023  润新知