日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

持续集成之企业微信通知:5:在Jenkins中向企业微信推送消息

發(fā)布時(shí)間:2023/12/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 持续集成之企业微信通知:5:在Jenkins中向企业微信推送消息 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


在這篇文章中結(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配置文件
liumiaocn:jenkins liumiao$ cat docker-compose.yml version: '2'services:# jenkins service based on Jenkins LTS versionjenkins:image: liumiaocn/jenkins:2.164.3centos7.7openjdk1.8 ports:- "32002:8080"- "50000:50000"environment:- JENKINS_ADMIN_ID=root- JENKINS_ADMIN_PW=liumiaocn- JENKINS_MODE=mastervolumes:- ./data/:/data/jenkins- /var/run/docker.sock:/var/run/docker.sockrestart: "no" liumiaocn:jenkins liumiao$
  • 執(zhí)行日志
liumiaocn:jenkins liumiao$ docker-compose up -d Creating network "jenkins_default" with the default driver Creating jenkins_jenkins_1 ... done liumiaocn:jenkins liumiao$ docker-compose psName Command State Ports -------------------------------------------------------------------------------------------------------------- jenkins_jenkins_1 /bin/tini -- /usr/local/bi ... Up 0.0.0.0:50000->50000/tcp, 0.0.0.0:32002->8080/tcp liumiaocn:jenkins liumiao$

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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。