Jenkins构建后发送邮件通知

网上有很多教程,可是,enmmm有点儿乱,一个简单的功能折腾了很久。对于一些我过程中遇到的疑问这里做个简单解释。

前提:博主使用的是qq邮箱,因为公司邮箱我没有找到我们的SMTP服务器是啥。邮箱的不同,配置的时候有区别就是SMTP服务器的默认地址。

各邮箱SMTP服务器相关信息可以百度查到:

邮箱名称

SMTP服务器地址

SMTP端口号

qq邮箱

smtp.qq.com

25

qq企业邮箱

smtp.exmail.qq.com

25

很多教程里面的SMTP端口号用的是465,这是因为选择了SSL加密方式登录

jenkins构建时状态自从这次构建后断开是怎么回事_服务器


要想每次发邮件通知构建结果,总的简单过程就分为三步,邮件的具体格式以及更详细的设置可以再进一步配置。

第一步:

(1)Jenkins确保有相应插件:extend E-mail Notification

(2)在QQ邮箱开启SMTP服务

设置->账户

jenkins构建时状态自从这次构建后断开是怎么回事_发送邮件_02


(应该开启一个就可以)开启的时候会弹出一个,留着,一会儿用

第二步:

进入Jenkins系统管理 -> 系统设置

jenkins构建时状态自从这次构建后断开是怎么回事_服务器_03


在Jenkins Location、邮件通知 配置相关内容

(1)

jenkins构建时状态自从这次构建后断开是怎么回事_服务器_04


(2)

jenkins构建时状态自从这次构建后断开是怎么回事_Jenkins_05


jenkins构建时状态自从这次构建后断开是怎么回事_jenkins_06


配置完之后,可以先测试一下是否成功

jenkins构建时状态自从这次构建后断开是怎么回事_Jenkins_07


可以随便填一个接受邮箱,我这儿还填的我的邮箱,单击右下角发送测试文件,配置成功显示successfully,如果配置不对会提示报错。

常见错误码:

如果配置的password不是授权码 会提示535,与系统用户邮箱不一致会提示501 ,邮箱服务SMTP server 配置错误提示550测试成功之后就可以去邮箱里看是否有测试邮件了,因为我配置的发件人是我的QQ邮箱,收件邮箱也是我的QQ邮箱,所以邮件显示的就是我自己发了个邮件给我自己

jenkins构建时状态自从这次构建后断开是怎么回事_Jenkins_08

第三步

去具体项目中配置构建后发送邮件服务

jenkins构建时状态自从这次构建后断开是怎么回事_Jenkins_09


这两个都可以实现,只不过下面这个可扩展性强一些,可以将来配置更复杂的邮件通知。

简单的邮件通知只需要配置三个地方即可:

(1)邮件接收者列表,可以写多个,我这儿写的我自己

jenkins构建时状态自从这次构建后断开是怎么回事_Jenkins_10


(2)Attach Build Log中选择邮件内容中添不添加构建日志,我这里选择了添加,然后点击更多设置,配置Triggers

jenkins构建时状态自从这次构建后断开是怎么回事_Jenkins_11


(3)很好理解,这里可以选择什么样的构建结果发送通知,最常见的就是失败和成功,我这里选择每一次构建都发送给Recipient List,还可以选择发送给这次构建的发起者等等

jenkins构建时状态自从这次构建后断开是怎么回事_jenkins_12


还想要更多更详细的配置,比如邮件内容的格式等,可以再Jenkins系统管理 -> 系统设置中,配置Extended E-mail Notification里面的内容,如下图。

除此之外,也可以扩展每个构建中的Editable Email Notification

jenkins构建时状态自从这次构建后断开是怎么回事_发送邮件_13

到这就配置全部完成了,每次的构建结果都会发送到QQ邮箱,还带着日志附件。这是我的构建结果通知。

jenkins构建时状态自从这次构建后断开是怎么回事_Jenkins_14

总结:配置之前感觉乱七八糟有一堆东西要填,实际上梳理之后也比较清晰。总体的配置过程好像就是给Jenkins配置(成)了一个邮箱,让它可以给其他人(构建中写的收件人)发邮件。

补充一下:

可以在QQ邮箱中自定义一个文件夹来存Jenkins发来的邮件,这样便于查看和管理,也不会把收件箱搞乱

(1)新建一个文件夹

jenkins构建时状态自从这次构建后断开是怎么回事_服务器_15


(2)添加收信规则

有很详细的规则可供选择,我这里把主题中包含Build的邮件,以及发件人是我自己的邮件移入Jenkins文件夹,这样每次新来邮件可以直接去文件夹看了,不会弄乱收件箱。

jenkins构建时状态自从这次构建后断开是怎么回事_服务器_16


jenkins构建时状态自从这次构建后断开是怎么回事_Jenkins_17

好了,休息了。
好啦,一枚暴风成长的工作小白,一起学习!nice!