在这篇文章中结合具体的示例来介绍在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配置文件
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$
  • 执行日志
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将流水线分按照功能分为逻辑上的三段:构建(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中向企业微信推送消息相关推荐

  1. 推送消息不打烊--Flutter集成个推SDK实现Android和IOS原生推送

    theme: condensed-night-purple highlight: a11y-dark 嗨!这里是甜瓜看代码,大家五一快乐呀,这篇文章跟大家聊聊怎么集成个推. Flutter集成个推SD ...

  2. JAVA程序推送消息到企业微信

    关于消息推送,相信大家都或多或少的接触过. 今日小胡在这里给大家分享下关于如何企业微信应用如何将消息推送到企业微信. 官方开发文档链接如下企业微信开发文档 首先我们要知道的是,企业微信应用推送消息,只 ...

  3. PowerShell 实现企业微信机器人推送消息

    前言企业微信机器人 在ARMS告警管理中创建企业微信机器人后,您可以在通知策略中指定对应的企业微信群用于接收告警.当通知策略的匹配规则被触发时,系统会自动向您指定的企业微信群发送告警通知.企业微信群收 ...

  4. tp5框架实现推送消息到企业微信机器人(从需求分析、方案设计、研发阐述)

    需求 目前需要接入消息推送的模块是任务中心,原因是任务中心是多人协作处理某个特定小组内的所有分析任务,在整个分析的过程中,一个任务的生命周期会经历若干个关键的状态节点, 当分析师或审批人触发了相关动作 ...

  5. 企业微信推送消息延迟_iPhone手机微信推送消息总是延迟怎么办?

    在有些时候我们的苹果手机屏幕页面总是有微信消失提示,但是我们打开微信页面刷新很久也看不到相应的消息记录,让我们总是没有办法及时回复一些好友消息.如果是一些工作上的关键信息就很麻烦了,毕竟现在微信已经深 ...

  6. Android中集成Jpush实现推送消息通知与根据别名指定推送附示例代码下载

    场景 经常会有后台服务向Android推送消息通知的情况. 实现 首先在Android Studio中新建一个Android应用 在Project根目录的build.gradle中配置了jcenter ...

  7. 公众号向特定用户主动推送消息_SAP系统和微信集成的系列教程之三:微信用户关注公众号之后,自动在SAP C4C系统创建客户主数据...

    这是Jerry 2020年的第84篇文章,也是汪子熙公众号总共第266篇原创文章. 本系列的英文版Jerry写作于2017年,这个教程总共包含十篇文章,发表在SAP社区上: https://blogs ...

  8. Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目

    Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目 前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+ ...

  9. 微信小程序之发送通知消息(通过openid推送消息给用户)

    微信小程序之发送通知消息(通过openid推送消息给用户) 一.获取access_token access_token是接口调用的凭证,目前有效期为两个小时,需要定时刷新,重复获取将导致上次获取的ac ...

最新文章

  1. TC专访Waymo首席技术官:谷歌自动驾驶的过去和未来
  2. java编程50实例_java编程实例大全及详解谜底(50例).doc
  3. CentOS 6.4 i386 版本安装 FastDFS、使用Nginx作为文件访问WEB服务器
  4. 一文详解DeepMind最新模型SUNDAE,了解迭代去噪模型的前世今生
  5. 逻辑地址、线性地址、物理地址和虚拟地址
  6. java 删除二进制内容_二进制搜索树节点删除
  7. 【开发者成长】喧哗的背后:Serverless 的挑战
  8. Sandcastle Help File Builder(.NET帮助文档工具)的版本选择心得——支持VS2010至VS2015,高版本项目文件问题...
  9. Java API For WebSocket(七)Java EE环境
  10. 阿里巴巴分布式调度引擎tbschedule实战二源码环境搭建
  11. 图论算法 若干定义
  12. 绕过tp路由器管理密码_TP-Link路由器登录密码怎么重置【详细介绍】
  13. 开源项目zheng学习
  14. 上海交通大学2005年数学分析考研试题
  15. 加州欧文计算机工程专业,加州大学欧文分校计算机工程排名第29(2018年TFE美国排名)...
  16. APP性能测试关注点详细介绍
  17. 第二届“长安杯”电子数据竞赛试题wp
  18. 全新自适应地址发布页HTML源码
  19. jenkins定时任务时间设置方法
  20. 链路追踪 zipkin 可执行 zipkin-server-x-exec.jar 下载地址

热门文章

  1. Git如何处理blob上的SHA-1冲突?
  2. HSI、HSV、RGB、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型的区别
  3. (转)计算机领域的顶级会议和期刊
  4. python手机话费_Python软件测试中“电话费”问题的解决方案,python,版本,账单,题解...
  5. 妹子说我没有表情包?没关系通过python爬虫爬取表情
  6. 计算机类中级职称论文,计算机中级职称论文.docx
  7. lucene spatial 6.1搜索附近的饭店
  8. android studio记账,Android Studio--家庭记账本(三)
  9. 使用setoolkit制作简单钓鱼网站
  10. 顾客点餐系统(1)-------整体项目目标+用户数据表的操作