持续集成之企业微信通知:5:在Jenkins中向企业微信推送消息
在這篇文章中結(jié)合具體的示例來(lái)介紹在Jenkins中如何向企業(yè)微信群推送消息。
環(huán)境準(zhǔn)備
這里使用Easypack的Jenkins 2.164.3來(lái)創(chuàng)建驗(yàn)證用的Jenkins環(huán)境。使用如下步驟即可完成。
事前準(zhǔn)備
事前準(zhǔn)備docker和docker-compose,版本要求如下所示:
- Docker: >= 1.13.1
- docker-compose: >= 1.13
啟動(dòng)Jenkins
使用Easypack中準(zhǔn)備好的LTS的Jenkins鏡像,啟動(dòng)Jenkins。
- git clone
命令:git clone https://github.com/liumiaocn/easypack.git
- 啟動(dòng)服務(wù)
命令:
cd easypack/containers/alpine/jenkins
docker-compose up -d
- 使用的docker-compose配置文件
- 執(zhí)行日志
Job示例
本文示例的Job將流水線分按照功能分為邏輯上的三段:構(gòu)建(Build) 、測(cè)試(Test)、部署(Deploy),順序如下所示。
構(gòu)建測(cè)試部署創(chuàng)建一個(gè)名為test-wechat-notification的Pipeline類型的Job,具體Job內(nèi)容如下:
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 ...' }}}}執(zhí)行一次之后,通過(guò)BlueOcean確認(rèn)運(yùn)行結(jié)果如下所示:
插件方式
插件方式本文不再詳細(xì)驗(yàn)證,本文直接使用企業(yè)微信提供的API進(jìn)行消息推送。
通用消息推送示例
詳細(xì)使用示例可參看:https://liumiaocn.blog.csdn.net/article/details/103753450
在本例中將使用此腳本進(jìn)行消息推送。
增加釘釘消息推送
腳本準(zhǔn)備
在每個(gè)階段添加消息推送,首先將上述腳本拷貝至Jenkins鏡像的/usr/local/bin下并設(shè)置可以執(zhí)行權(quán)限。
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..."'}}}}注:請(qǐng)?zhí)鎿Q自己的key信息(your_owen_wechat_key_info部分)
Jenkins上的執(zhí)行結(jié)果如下所示
企業(yè)微信群的消息推送信息確認(rèn)
總結(jié)
以上是生活随笔為你收集整理的持续集成之企业微信通知:5:在Jenkins中向企业微信推送消息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一不小心就四个月的实习总结。。。
- 下一篇: 1800: 少水群多刷题