zoukankan      html  css  js  c++  java
  • 应用部署时自动推送企业微信提醒

    上一篇文章《自定义Gradle Task实现一键批量部署Springboot应用》做到了一键部署jar包应用到多个环境,

    那问题来了:部署完成之后是否可以推送部署信息给相关人员呢?答案是肯定的,这里我们使用企业微信群机器人实现这个功能,实现步骤如下:

    1、在企业微信里建立了一个“养管开发部署群”,鼠标右键添加群机器人:

    2、机器人页面有个Webhook地址,往这个地址按照指定格式发送http请求就可以

    向群里发送消息(下面红色涂掉的是唯一标识每个群机器人的key)

    3、构造部署消息内容,这里我们提取git本地指定分支最新的前5条log信息,一般是跟你打包应用相关的分支,

    具体实现放在gradle.build文件中,核心代码如下:

    4、实现向Webhook地址发送http请求,即推送消息到微信群,这里使用wechat.sh实现,核心代码如下:

    if [ $# -lt 1 ];then
    echo 'error:push content is null'
    exit 1
    fi
    
    #读取缓存文件中的内容
    PUSH_CONTENT=$(cat $1)
    
    if [ -z "$PUSH_CONTENT" ];then
    echo 'error:push content is empty'
    exit 1
    fi
    
    curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxx-6675-2222-1111-yyyyyyyy' \
       -H 'Content-Type: application/json' \
       -d '
       {
            "msgtype": "text",
            "text": {
                "content": "'"$PUSH_CONTENT"'"
            }
       }'
    
    exit 0

    5、集成到之前的部署流程中,集成之后的部署总流程如下:

    集成步骤如下:

    (1)下载文末附录的gradle.build文件覆盖原gradle.build(因为文末的文件对密码账号做了脱敏处理,注意保存被覆盖文件中部署服务器的账号密码);

    (2)下载文末附录的wechat.sh放置到用于推送消息的主机上,并记下存放路径;

    (3)修改gradle.build文件,将主机IP、账号同步到以下位置:

    将第(2)步wechat.sh的路径同步到:

    将本地分支名称、分支根路径同步到:

    将部署人设置成你自己:阿牛

    调整后点击deploy命令:

    推送成功后,微信群接收到提醒:

  • 相关阅读:
    MySql之基础
    web篇---jQuery
    前端篇---CSS
    前端篇--HTML
    Python篇1.17---多进程
    Python篇1.16---socket编程
    Python篇1.15---模块与包
    Python番外篇---函数
    python番外篇---变量与数据类型
    【认真的完整版翻唱!】红莲之箭【あるふぁきゅん。】
  • 原文地址:https://www.cnblogs.com/wind1984/p/12359742.html
Copyright © 2011-2022 走看看