上一篇文章《自定义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命令:
推送成功后,微信群接收到提醒: