應用部署時自動推送企業微信提醒


上一篇文章《自定義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命令:

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM