Jenkins默认有一个邮件通知功能,但功能比较单一,能自定义的东西很少,一般使用Extended E-mail Notification插件来发送邮件,EXT Email插件功能比较多,但设置也比较复杂。

前言

由于只是学习Jenkins,所以这里写的不会太多,只会简单的写一下,后续学习到了会更新。这里有几个关键的地方提一下:

  1. Extended E-mail Notification的发件人邮箱和Jenkins Location系统管理员邮箱相同
  2. SMTP Authentication的Password 是SMTP的授权码,不是邮箱密码,同时也要确认是否开启SMTP。
  3. 勾选”Enable Debug Mode”可以开启EXT E-mail Notification的调试功能,这样可以在构建日志里增加更多相关日志。
  4. EXT E-mail插件并没有测试功能,需要在构建后查看Console Output下的日志。
  5. 如果发送邮件失败,要注意SMTP Authentication的User Name要输全邮箱名。

配置

Extended E-mail Notification的配置就是在系统管理——系统设置里面。在设置EXT E-mail 之前,我们需要先设置一下Jenkins Location里的系统管理员邮箱。这个邮箱必须保证和下面的发件人相同

然后再设置EXT E-mail插件。这里需要注意一下

  • Default user E-mail suffix。设置默认的EMAIL后缀名,这里设置后,之后的发件人若不设置后缀,都以这个为后缀。
  • 勾选Use SMTP Authentication。填入发件人的用户名密码、SMTP的端口号等信息。这里注意用户名要填全,密码要填写SMTP的授权码,这个授权码需要去邮箱里开启SMTP并获取授权码。
  • Default Recipients。设置默认收件人,这里就可以不用输@后缀了,以Default suffix为后缀,当然如果不是该后缀输全邮箱名就可以了

    EXT E-mail的优势就在于可以自定义各种东西,比如这里可以自定义邮箱的标题和内容。

这里给出一个Content模版,注意,如果这里是网页格式需要在EXT E-mail的Default Content Type里修改为HTML。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<!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"> 大专栏  Jenkins之邮件通知
<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> SVN_URL
<td>
<ul>
<li>项目名称:${PROJECT_NAME}</li>
<li>构建编号:${BUILD_NUMBER}</li>
<li>GIT版本:${GIT_REVISION}</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>
<hr size="2" width="100%" align="center" />
</table>
</body>
</html>

使用

好了,系统设置里配置完成,只剩下使用里配置一下就可以了。在项目的设置里面,选择”增加构建后操作步骤”,再选择”Editable Email Notification”

就会出现如图设置,我们这里让它默认

然后点击最下方的Advanced Setting

可以在Triggers里设置更多的触发事件,以及设置,这里点击高级

然后在Recipient List里输入收件人,如需发送给多个人可以使用,

然后单击下方的保存,进入到项目里——立即构建。然后再查看构建的Consolo Output。观察是否发送成功。
如图表示发送成功,再去收件邮箱看是否收到邮件即可

Jenkins之邮件通知的更多相关文章

  1. Jenkins 配置邮件通知步骤

    Jenkins 配置邮件通知前言 可以在Jenkins 中配置邮件通知,比如在构建失败时发送邮件通知项目组来及时修复问题. Jenkins 邮件通知功能的插件主要包括: Mailer Plugin ( ...

  2. Jenkins进阶-邮件通知(9)

    公司内部每天大概会发布N多版本,也不能派员工一直去盯着版本发布,所以希望发布完成后通知相关人员,Jenkins最早采用通知机制就是短信和邮件,由于短信成本很高,所以我们一般在发布结束后会采用邮件.现在 ...

  3. Jenkins 配置邮件通知

    jenkins 是一个开源的自动化服务器.通过Jenkins,可以通过自动化加速软件开发过程.Jenkins管理和控制各种开发的生命周期过程,包括构建,文档,测试,包,阶段,部署,静态分析等等.您可以 ...

  4. 环境部署(八):jenkins配置邮件通知

    完成基于jenkins的持续集成部署后,任务构建执行完成,测试结果需要通知到相关人员.这篇博客,介绍如何在jenkins中配置邮件通知的方法... 一.安装邮件插件 由于Jenkins自带的邮件功能比 ...

  5. jenkins持续集成(三): jenkins配置邮件通知

    完成基于jenkins的持续集成部署后,任务构建执行完成,测试结果需要通知到相关人员.这篇博客,介绍如何在jenkins中配置邮件通知的方法... 一.安装邮件插件 由于Jenkins自带的邮件功能比 ...

  6. Jenkins email-ext邮件通知模板

    http://blog.csdn.net/houyefeng/article/details/51344337 示例 以html格式发送送如下内容:邮件内容为项目名称.构建次数.触发原因.构建日志前1 ...

  7. 设置jenkins的邮件通知功能

    1.进入系统配置页面配置邮件发送的SMTP 2. 进入项目配置页面,配置邮件通知:(每次不稳定构建时会邮件通知)

  8. jenkins配置邮件通知

    参考: https://www.cnblogs.com/imyalost/p/8781759.html 谢谢大佬~

  9. Jenkins进阶系列之——01使用email-ext替换Jenkins的默认邮件通知

    1 简述 众所周知,Jenkins默认提供了一个邮件通知,能在构建失败.构建不稳定等状态后发送邮件.但是它本身有很多局限性,比如它的邮件通知无法提供详细的邮件内容.无法定义发送邮件的格式.无法定义灵活 ...

随机推荐

  1. c语言中用简单方法对多维数组进行初始化

    例:int array[4][3] = {1,2,3,4,5,6,7,8,9,10,11,12}; 说明:a.由4*3可知,本二维数组包含12个元素,因此初始化时array[0][0] = 1 ,ar ...

  2. UML-如何画SSD?

    1.SSD来自哪里?答:用例文本 2.如何为系统事件和操作命名? 3.SSD中的哪些需要放到词汇表中? SSD元素包含 1).操作名称 2).参数 3).返回数据 这些元素,必须要简洁.但别人可能不太 ...

  3. Java之解决线程安全问题的方式三:Lock锁

    import java.util.concurrent.locks.ReentrantLock; /** * 解决线程安全问题的方式三:Lock锁 --- JDK5.0新增 * * 1. 面试题:sy ...

  4. win10环境下pyinstaller打包pytorch遇到的问题及解决方案

    pytorch-python源码生成windows的应用程序(.exe),报错OSError: could not get source code Failed to execute script h ...

  5. Linux-竟态初步引入

    (1).竟态全称是:竞争状态,多进程环境下,多个进程同时抢占系统资源(内存.CPU.文件IO). (2).竞争状态对于操作系统OS来说是很危险的,此时的操作系统OS如果没有处理好就会造成结果不确定. ...

  6. 如何判断Office是32位还是64位?

    对于持续学习VBA的老铁们,有必要了解Office的位数. 如果系统是32位的,则不需要判断Office位数了,因为只能安装32位Office. 下面只讨论64位系统中,Office的位数判断问题. ...

  7. 20190221 beautiful soup 入门

    beautiful soup 入门 Beautiful Soup 是 python 的一个库,最主要的功能是从网页抓取数据. Beautiful Soup 自动将输入文档转换为 Unicode 编码, ...

  8. 用PrintStream向文件输入内容

    import java.io.*; public class Main { public static void main(String[] args) throws FileNotFoundExce ...

  9. inotify+rsync实时同步

    主服务器上安装inotify和rsync,备用服务器上安装rsync 主服务器上修改/etc/rsyncd.conf配置文件 三. 创建密码文件,防火墙设置,客户端和服务器端都要做如下操作 echo ...

  10. 2019-2020-1 20199324《Linux内核原理与分析》第五周作业

    第四章 系统调用的三层机制(上) 知识点总结: 系统调用:系统调用是操作系统为用户态进程与硬件设备进行交互提供的一组接口. 系统调用的功能特性: 把用户从底层的硬件编程中解放出来: 极大地提高了系统的 ...