WeiyiGeek Blog - 为了能到远方,脚下的每一步都不能少。

Tips : 本文章来源 Blog 站点或者 WeiyiGeek 公众账号 (技术交流、友链交换请邮我哟), 原文地址: 4.Jenkins入门基础使用与邮箱&钉钉&微信消息通知集成配置与实践

  • 微信公众号-WeiyiGeek # 精华文章发布地址(及时发布)
  • 首页-https://weiyigeek.top # 采用cloudflare CDN 国内有时访问较慢
  • https://weiyigeek.gitee.io # 国内访问快但可能会有更新不及时的情况


邮箱&钉钉&微信消息通知 集成配置与实践

描述: 在Jenkins中我们还有最重要的一步还没有完成, 即消息通知(让我们知道是构建成功还是、构建失败)等等, 常规的方式有邮箱通知、Shell自定义脚本通知,WebHook通知等;

通知插件插件安装:

DingTalk : 钉钉 Jenkins 插件 2.4.3 (https://github.com/jenkinsci/dingtalk-plugin)
Qy Wechat Notification Plugin : 这个插件是一个机器人,可以发布构建状态和发送消息给qy微信. 1.0.2  (https://www.jenkins.io/doc/pipeline/steps/qy-wechat-notification/)

(0) 邮箱通知实践配置
描述: 此处以腾讯企业邮箱为例进行配置,首先需要登陆将要被使用的邮箱,注意必须要使用微信绑定后才能正常生成客户端专用密码,然后开启SMTP服务;

# 客户端设置方法
接收服务器:
imap.exmail.qq.com(使用SSL,端口号993)
发送服务器:
smtp.exmail.qq.com(使用SSL,端口号465)

Step 1.在 Dashboard -> 系统配置 -> Jenkins Location进行配置系统管理员邮件地址,注意此处管理员邮箱地址必须与smtp服务发信地址一致否则将会报出501 mail from address must be same as authorization user错误;

Step 2.设置发信邮箱相关配置,点击 Dashboard -> 系统配置 -> 邮件通知 填入 SMTP 发信服务器地址以及企业邮箱后缀,采用SSL协议并输入认证的账号与客户端专用密码,最后测试发信;

Step 3.构建项目通信发信测试,点击 Dashboard -> Maven-HelloWorld -> 构建设置 -> 启用E-mail Notification

# 收信人:Recipients
# 什么场景发送信息:
- 构建失败给每一个人发送发送电子邮件 : Send e-mail for every unstable build
- 谁构建失败给谁发送邮件: Send separate e-mails to individuals who broke the build
- 为每个失败的模块发送电子邮件 : Send e-mail for each failed module

补充方式:
描述: 由于Jenkins自带的邮件功能比较鸡肋,因此这里推荐安装专门的邮件插件(Email Extension)并介绍如何配置Jenkins自带的邮件功能作用。

插件安装: 系统管理→管理插件→可选插件选择Email Extension Plugin插件进行安装
系统设置:

    1. 通过系统管理→系统设置,进行邮件配置 -> Extended E-mail Notification -> 输入 SMTP Server 相关信息以及Authentication相关设置(注意:密码一般是邮箱授权码)

    1. 设置其编码格式以及默认内容类型,以及邮件模板配置在 Extended E-mail的 default content -;

<!-- ^\s*(?=\r?$)\n 正则替换空行 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0"><table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif"><tr><td>(本邮件由程序自动下发,请勿回复!)</td></tr><tr><td><h2><font color="#FF0000">构建结果 - ${BUILD_STATUS}</font></h2></td></tr><tr><td><br /><b><font color="#0B610B">构建信息</font></b><hr size="2" width="100%" align="center" /></td></tr><tr><a href="${PROJECT_URL}">${PROJECT_URL}</a><td><ul><li>项目名称:${PROJECT_NAME}</li><li>GIT路径:<a href="${GIT_URL}">${GIT_URL}</a></li>                   <li>构建编号:${BUILD_NUMBER}</li>                   <li>触发原因:${CAUSE}</li>  <li>构建日志:<a href="${BUILD_URL}console">${BUILD_URL}console</a></li></ul></td></tr><tr><td><b><font color="#0B610B">变更信息:</font></b><hr size="2" width="100%" align="center" /></td></tr><tr><td><ul><li>上次构建成功后变化 :  ${CHANGES_SINCE_LAST_SUCCESS}</a></li></ul>   </td></tr><tr><td><ul><li>上次构建不稳定后变化 :  ${CHANGES_SINCE_LAST_UNSTABLE}</a></li></ul>   </td></tr><tr><td><ul><li>历史变更记录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li></ul>   </td></tr><tr><td><ul><li>变更集:${JELLY_SCRIPT,template="html"}</a></li></ul>   </td></tr><!--<tr><td><b><font color="#0B610B">Failed Test Results</font></b><hr size="2" width="100%" align="center" /></td></tr><tr><td><pre style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">$FAILED_TESTS</pre><br /></td></tr><tr><td><b><font color="#0B610B">构建日志 (最后 100行):</font></b><hr size="2" width="100%" align="center" /></td></tr>--><!-- <tr><td>Test Logs (if test has ran): <ahref="${PROJECT_URL}ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip">${PROJECT_URL}/ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip</a><br /><br /></td></tr> --><!--<tr><td><textarea cols="80" rows="30" readonly="readonly" style="font-family: Courier New">${BUILD_LOG, maxLines=100,escapeHtml=true}</textarea></td></tr>--><hr size="2" width="100%" align="center" /></table>
</body>
</html>
    1. 设置Default Triggers触发机制,例如下面是失败时候和成功时候发送;

    1. 在Job任务调用中选择构建后操作进行设置Email Notification进行设置通知

(1) 钉钉消息通知实践配置
Step 0.在钉钉中建立一个群聊并且创建一个群机器人生成一个Webhook地址,操作如下图所示:

例如:https://oapi.dingtalk.com/robot/send?access_token=95f707645db08794166ed3aad3eaad363bb1475bf7c91635b7456a0a8c8893c6

Step 1.设置钉钉消息通知参数, 点击 Dashboard -> 系统配置 -> 钉钉 选择通知时机以及代理通信(当该主机无法正常连接网络时可采用此方法) -> 点击新增(填入唯一的id、以及名称和webhook地址,注意如果在创建机器人时指定了关键字和加密字符串需要填写上)->然后测试发信;

Step 2.在FreeStyle风格的项目是可以在通用设置卡点选钉钉消息通知的,而Maven的项目是没有该点选选项,因为该插件只支持FreeStyle和PIPELINE流水线(这里有巨坑所以有的时候还是老版本的插件好用),注意网上博客中关于大多数此问题都是不适用的官方文档才是第一手;

参考连接: https://jenkinsci.github.io/dingtalk-plugin/examples/freestyleAdvanced.html#详细日志

PS : 对于其它项目风格的项目在后面我们将使用流水线PIPEline进行实现钉钉的消息通知;

(2) 企业微信通知实践配置

  • Step 1.设置企业微信通知全局参数,点击 Dashboard -> 系统配置 -> 企业微信通知配置设置构建环境名称(会在信息中显示)以及默认Webhook地址(全局的)、通知用户的Uid(@ALL表示全部)

  • Step 2.在构建任务中设置相应的通知参数,点击 Dashboard -> Maven-HelloWorld(项目名称) -> 构建后的操作 -> 选择企业微信

# PS:此处输入的Webhook优先级高于全局的企业微信Webhook这样做的好处是便于为每个任务分配不同的Webhook;
Webhook地址: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=c222f3fc-f645-440a-ad24-0ce8d9626f11
情况通知:仅失败才@发送开始构建信息仅失败才发送仅成功才发送仅构建中断才发送仅不稳定构建才发送
通知UserID: @ALL
通知手机号码: 选填
  • Step 3.对 Maven-HelloWorld 项目进行构建并查看控制台输出,消息推送;

# 构建前发送
> git config core.sparsecheckout # timeout=10
> git checkout -f e8d88cf3e222b79259edcfb7ca48cee7b079ee08 # timeout=10
Commit message: "v1.2"
> git rev-list --no-walk e8d88cf3e222b79259edcfb7ca48cee7b079ee08 # timeout=10
推送通知 {"markdown":{"content":"Jenkins-Notify<font color=\"info\">【Maven-HelloWorld】<\/font>开始构建\n >构建参数:<font color=\"comment\">git_version=v1.2, deploy_option=rollback <\/font>\n >预计用时:<font color=\"comment\">0分钟<\/font>\n >[查看控制台](http://jenkins.weiyigeek.top:8080/job/Maven-HelloWorld/16/console)"},"msgtype":"markdown"}
通知结果 {"errcode":0,"errmsg":"ok"}# 构建部署后发送
+ ssh -p 20211 weiyigeek@10.10.107.202 'rm -rf /nfs/data4/webapps &&  ln -s /nfs/data4/war/Maven-HelloWorld-20201227-021934-v1.2 /nfs/data4/webapps && kubectl delete pod -l app=java-maven'
**************WARNING**************
Authorized only. All activity will be monitored and reported.
pod "deploy-java-maven-0" deleted
pod "deploy-java-maven-1" deleted
pod "deploy-java-maven-2" deleted
推送通知{"markdown":{"content":"Jenkins-Notify<font color=\"info\">【Maven-HelloWorld】<\/font>构建<font color=\"info\">成功~<\/font>												

4.Jenkins入门基础使用与邮箱钉钉微信消息通知集成配置与实践相关推荐

  1. 3.Jenkins入门基础使用与Maven+SonarQube集成配置与实践

    目录一览: Maven 集成配置与实践 ​SonarQube 集成配置与实践 WeiyiGeek Blog - 为了能到远方,脚下的每一步都不能少. Tips : 本文章来源 Blog 站点或者 We ...

  2. 【钉钉机器人发送消息,集成SpringBoot】

    钉钉机器人发送消息,集成SpringBoot 使用教程 官方文档:自定义机器人接入 - 钉钉开放平台 需要下载电脑版钉钉 官网地址 1.创建 Ding 群 首先在钉钉软件里创建一个群聊,这个比较简单就 ...

  3. 钉钉小程序生态5—钉钉群机器人消息通知和钉钉工作通知

    文章导航 钉钉小程序生态1-区分企业内部应用.第三方企业应用.第三方个人应用 钉钉小程序生态2-区分小程序和H5微应用 钉钉小程序生态3-钉钉扫码登录PC端网站 钉钉小程序生态4-钉钉小程序三方企业应 ...

  4. 运维监控系列(15)-Alertmanager添加163邮箱、钉钉、微信告警通知功能

    163邮箱 可用通过邮件方式进行告警通知的发送,接着上篇文档,我们配置发送邮件告警方式. 1. 设置163邮箱 发送邮件,需要smtp邮件服务器,首先需要对网易邮箱进行设置. 首先登陆163邮箱,进入 ...

  5. Jenkins 企业微信消息通知

    和钉钉一样,也需要在群里面添加一个机器人 添加群机器人 企业微信 AgentId 1000006 wUs3TtGLYGnJ5YeezwxK60dEuXJeuF_01unh2TnaFRA  文本消息 { ...

  6. prometheus+node_exporter+grafana+alertManager+prometheus-webhook-dingtalk实现服务器监控显示,钉钉机器人告警消息通知

    1.下载prometheus安装 ① 从 https://prometheus.io/download/ 下载相应版本,安装到服务器上官网提供的是二进制版,解压就能用,不需要编译 [root@loac ...

  7. python向钉钉发送本地文件_Python实现向钉钉群发送消息通知

    一 钉钉机器人使用场景 钉钉机器人是钉钉群的高级扩展功能,可以简单实现将第三方服务信息聚合到钉钉群中,实现信息的自动同步,常用场景如下:聚合Github.Gitlab等源码管理服务,实现源码更新同步: ...

  8. 钉钉群机器人消息通知

    最近项目需要授权,需要及时通知授权失败的工单,所以就用到了钉钉机器人在群里实时通知,然后就写下了这篇文章.如果放到服务器出现域名错误修改hosts文件,在服务器执行vi /etc/hosts可直接修改 ...

  9. spring boot 整合钉钉机器人发送消息通知

    钉钉消息通知 主要用于系统预警.资源预警.重要消息通知,随时随地可以掌握重要信息 一.通知效果 1.文本通知 2.带链接的通知 3.makrdown格式 通知 4.ActionCard 通知 5.Fe ...

最新文章

  1. 解决Windows平台通过cURL上传APP到蒲公英pgyer平台时无法使用中文升级描述的问题...
  2. DIV CSS兼容性解决IE6/IE7/FF浏览器的通用方法完美兼容
  3. CTF Geek Challenge——第十一届极客大挑战Web Write Up
  4. QT学习——Tcp客户端通信(本地回环)
  5. 应用新的JDK 11字符串方法
  6. python笔记-标准库unittest
  7. 八年级信息技术认识计算机网络,初二信息技术课名称:认识计算机网络.doc
  8. hdu 2117(小数点后m位)
  9. python:01字串
  10. MODULE_DEVICE_TABLE【转】
  11. Unix整理笔记——在指定时间运行程序——里程碑M12
  12. matlab电力系统建模与仿真实验,基于MATLAB的小型电力系统的建模与仿真.doc
  13. html设置div大小位置不变,div大小 div固定大小设置
  14. 什么是MACD,如何使用MACD指标(新手必学)
  15. 苹果手机无法验证应用怎么办_App Store 提示“需要验证”无法下载应用怎么办?...
  16. Linux下 man命令的使用 及 中文man手册的安装
  17. 古老 IP 新玩法,盘点传统文化出圈秘籍
  18. 股票类APP排名:同花顺第一、大智慧第二、东方财富网第三
  19. shell脚本计时方法
  20. 为右键新建菜单添加自定义后缀(.html, .css, .js, .py)项

热门文章

  1. mysql导入sql文件,source命令
  2. 垃圾分类小程序(含源码)
  3. 4.第四章,字符数据及字符类型
  4. Siemens ug nx 12安装流程解说
  5. 写给C语言初学者的话[转北风]
  6. 微软bing看不见搜索框了.
  7. 将中文大写数字(从一到九十九)转换为阿拉伯数字
  8. 2020知到c语言程序设计章节测试答案,C语言程序设计(黑龙江工程学院)2020知到章节测试答案...
  9. 消防知识线上答题活动小程序复盘
  10. 深入思考:《盖亚奥特曼》中部分情景深度分析及反射出的哲理与感悟