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