V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xjtushilei
V2EX  ›  Java

用 springboot 自己写的自动化部署小工具 : Webhooks

  •  
  •   xjtushilei · 2017-11-01 21:45:56 +08:00 · 4346 次点击
    这是一个创建于 2561 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Webhooks

    在校生需要鼓励,奖励小弟一个 star 可以去 https://github.com/xjtushilei/Webhooks

    刚学 springboot 的也可以参考该工程。哈哈。虽然没有一点卵用。

    java 执行预设命令,通过 http 调用,兼容 linux 和 windows。

    该小工具的问世,主要是有目的而来的。我通过该项目进行博客,和别人在我服务器上的另一个项目的部署更新,只需要提交到 git,自动触发 webhooks,来 post 访问我的 api,则网站自动更新,不失为一种高效的自动化部署方案。

    使用方法

    前期准备

    1. 准备数据库 mysql 5.x 以上,创建一个数据库 commond
    2. 数据库配置文件位置src/main/resources/application-prod.properties 根据情况修改
    spring.datasource.url=jdbc:mysql://localhost:3306/command?useUnicode=true&characterEncoding=utf-8
    spring.datasource.username=command
    spring.datasource.password=command
    

    编译安装

    1. 服务器安装 mvn3.x,java1.8,tomcat8.5 以上
    2. mvn package执行编译打包,将 target 目录下的 war 包放入 tomcat 启动,注意 logs 是否报错

    使用

    1. 在之前的数据库里,看到一张表,然后打开它,创建 指令 name 和 指令 command,如 name:“ mvn ” command:“ mvn -v ”
    2. 远程调用:
    • linux 下 post 访问:http://ip:port/execLinux/{name}会自动触发该指令。 见下面例子。
    • windows 下 post 访问:http://ip:port/execWin/{name}会自动触发该指令。 见下面例子。

    举例

    远程调用:

    http://ip:port/execLinux/mvn
    

    且数据库里存了“ mvn ”命令对应的是“ mvn -v ”,则执行得到的结果是:

    Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
    Maven home: /home/ubuntu/apache-maven-3.3.9
    Java version: 1.8.0_131, vendor: Oracle Corporation
    Java home: /home/ubuntu/jdk1.8.0_131/jre
    Default locale: en_US, platform encoding: ANSI_X3.4-1968
    OS name: "linux", version: "4.4.0-53-generic", arch: "amd64", family: "unix"
    
    2 条回复    2017-11-02 14:59:54 +08:00
    hustlike
        1
    hustlike  
       2017-11-02 10:04:14 +08:00 via iPhone
    为了部署我还要在服务器上装 mysql java,感觉思路不对啊
    xjtushilei
        2
    xjtushilei  
    OP
       2017-11-02 14:59:54 +08:00
    @hustlike 哈哈 我这是 java 系的。这些一般都有。 命令也可以存在本地文件。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3585 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:10 · PVG 08:10 · LAX 16:10 · JFK 19:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.