本篇文章教大家Jenkins集成企业微信,当开发人员提交代码进行版本更新后,我们希望他们可以通过企业微信接收到版本更新的通知,因为有些时候他们没有Jenkins的登陆权限,不能上去看版本更新的状态,所以Jenkins集成企业微信这种平台实现通知是很有必要的。

文章目录

Jenkins集成企业微信

  • 一、准备微信通知脚本
  • 二、下载Jenkins插件并配置
  • 三、添加构建后操作
  • 四、测试微信通知

Jenkins集成企业微信

一、准备微信通知脚本

首先明确我们的需求,当git有新代码提交时会触发钩子实现自动上线,上线的结果会通过企业微信的方式显示给运维和开发人员,这样运维和开发人员不必时刻盯着Jenkins的状态。 明确需求后,我们开始准备工作,注册企业微信,在应用管理里面创建一个新的应用,保存好agentid和Secret写入python脚本。这个流程我之前演示zabbix告警的时候也提及过,也可以参考下面连接,我这边就简单演示一下。

【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)

1、百度企业微信扫码进入后台,选择之前创建的程序。

jenkins pipeline 企微 jenkins集成企业微信_运维

2、可以在这里获取AgentID和Secret,在可见范围那里鼠标移动上去还可以看见微信ID,一般是姓名字母全拼,首字母大写。

jenkins pipeline 企微 jenkins集成企业微信_Jenkins告警_02

3、可以在此处获取企业ID

jenkins pipeline 企微 jenkins集成企业微信_运维_03

4、记得将当前IP添加进白名单,不然不会发送成功,在Jenkins服务器,curl cip.cc就可以查看

jenkins pipeline 企微 jenkins集成企业微信_运维_04

二、下载Jenkins插件并配置

点击跳转下载插件 1、可以下载这个插件放到Jenkins中,在Linux下载好后解压到某个目录,进入目录执行以下操作 cd changelog-environment-plugin-master,执行 mvn verify,等待一会儿,在changelog-environment-plugin-master/target/下有个changelog-environment.hpi文件,上传到Jenkins即可使用。

2、下载好后在项目的构建环境中,会出现如下参数

jenkins pipeline 企微 jenkins集成企业微信_jenkins pipeline 企微_05

Entry Format中添加 %3jenkins pipeline 企微 jenkins集成企业微信_jenkins_06s via %1$s),参数分别为ChangeLog内容,时间,提交人。

Date Format中添加 yyyy-MM-dd HH:mm:ss 就是时间格式。

jenkins pipeline 企微 jenkins集成企业微信_Jenkins告警_07

三、添加构建后操作

构建后操作是指构建完成之后要进行的操作,点击增加构建后操作,选择 Post build task 如果没有此选择请安装 Hudson Post build task 插件,SCM_CHANGELOG须安装changelog插件,Jenkins服务器上安装python requests模块

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install python-pip
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
python get-pip.py
pip2.7 install requests

jenkins pipeline 企微 jenkins集成企业微信_jenkins pipeline 企微_08

将python脚本上传到Jenkins服务器,修改python脚本里的参数为自己企业微信的参数

[root@Jenkins ~]# rz -E
rz waiting to receive.
[root@Jenkins ~]# mkdir -p /server/scripts/
[root@Jenkins ~]# mv weixin.py /server/scripts/jenkins_notify.py

将下面代码添加进Script字段,需要通知什么内容,在下面自定义即可。

echo "==========Start Notify=============="
time=`date +"%F %H:%M:%S"`
python /server/scripts/jenkins_notify.py XingMing "${JOB_NAME} 编译完成" "项目路径:${BUILD_URL}  完成时间:${time}"

jenkins pipeline 企微 jenkins集成企业微信_jenkins_09

四、测试微信通知

手动点击Jenkins上的立即构建,项目构建成功之后会在企业微信做出通知,需要什么内容自定义即可。

jenkins pipeline 企微 jenkins集成企业微信_jenkins pipeline 企微_10