持续集成之企业微信通知:5:在Jenkins中向企业微信推送消息
在這篇文章中結合具體的示例來介紹在Jenkins中如何向企業微信群推送消息。
環境準備
這里使用Easypack的Jenkins 2.164.3來創建驗證用的Jenkins環境。使用如下步驟即可完成。
事前準備
事前準備docker和docker-compose,版本要求如下所示:
- Docker: >= 1.13.1
- docker-compose: >= 1.13
啟動Jenkins
使用Easypack中準備好的LTS的Jenkins鏡像,啟動Jenkins。
- git clone
命令:git clone https://github.com/liumiaocn/easypack.git
- 啟動服務
命令:
cd easypack/containers/alpine/jenkins
docker-compose up -d
- 使用的docker-compose配置文件
- 執行日志
Job示例
本文示例的Job將流水線分按照功能分為邏輯上的三段:構建(Build) 、測試(Test)、部署(Deploy),順序如下所示。
構建測試部署創建一個名為test-wechat-notification的Pipeline類型的Job,具體Job內容如下:
pipeline {agent any stages {stage('Build') { steps { sh 'echo Build stage ...' }}stage('Test'){steps {sh 'echo Test stage ...' }}stage('Deploy') {steps {sh 'echo Deploy stage ...' }}}}執行一次之后,通過BlueOcean確認運行結果如下所示:
插件方式
插件方式本文不再詳細驗證,本文直接使用企業微信提供的API進行消息推送。
通用消息推送示例
詳細使用示例可參看:https://liumiaocn.blog.csdn.net/article/details/103753450
在本例中將使用此腳本進行消息推送。
增加釘釘消息推送
腳本準備
在每個階段添加消息推送,首先將上述腳本拷貝至Jenkins鏡像的/usr/local/bin下并設置可以執行權限。
liumiaocn:chatops liumiao$ ls dingtalk send_message.sh wechat liumiaocn:chatops liumiao$ docker cp send_message.sh jenkins_jenkins_1:/usr/local/bin liumiaocn:chatops liumiao$ docker exec -it jenkins_jenkins_1 sh sh-4.2# which send_message.sh which: no send_message.sh in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin) sh-4.2# chmod 755 /usr/local/bin/send_message.sh sh-4.2# which send_message.sh /usr/local/bin/send_message.sh sh-4.2# send_message.sh usage: /usr/local/bin/send_message.sh TYPE TITLE CONTENT [URL]TYPE: wechat|dingtalk sh-4.2#添加消息推送
修改流水線代碼,添加如下消息推送示例
pipeline {agent any stages {stage('Build') { steps { sh 'echo Build stage ...' sh 'export CHAT_WEBHOOK_KEY=your_owen_wechat_key_info; send_message.sh wechat "Build Stage" "Build Stage has been successfully completed..."'}}stage('Test'){steps {sh 'echo Test stage ...' sh 'export CHAT_WEBHOOK_KEY=your_owen_wechat_key_info; send_message.sh wechat "Test Stage" "Test Stage has been successfully completed..."'}}stage('Deploy') {steps {sh 'echo Deploy stage ...' sh 'export CHAT_WEBHOOK_KEY=your_owen_wechat_key_info; send_message.sh wechat "Deploy Stage" "Deploy Stage has been successfully completed..."'}}}}注:請替換自己的key信息(your_owen_wechat_key_info部分)
Jenkins上的執行結果如下所示
企業微信群的消息推送信息確認
總結
以上是生活随笔為你收集整理的持续集成之企业微信通知:5:在Jenkins中向企业微信推送消息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一不小心就四个月的实习总结。。。
- 下一篇: 1800: 少水群多刷题