Jenkins 设置构建失败发送邮件(学习笔记二十一)

简介: 本文是jenkins应用系统文章的一部分,大部分来自工作和学习中的实践,部分内容来自官方文档和网友的文章,引用的文章会在“参考资料”部分附上原始链接,如无意中侵犯您的权利,请联系QQ:46106962,如需要进一步的交流请加入QQ群: (Jenkins学习交流)469536515。

本文是jenkins应用系统文章的一部分,大部分来自工作和学习中的实践,部分内容来自官方文档和网友的文章,引用的文章会在“参考资料”部分附上原始链接,如无意中侵犯您的权利,请联系QQ:46106962,如需要进一步的交流请加入QQ群: (Jenkins学习交流)469536515。转载和使用请注明出处。

邮件服务器配置

首先在Jenkins的“系统管理”->“系统设置”中设置“系统管理员邮件地址”,如:123456@qq.com;“系统管理员邮件地址”要和下面“邮件通知”中使用相同的后缀名和用户名,否则会报异常。

QQ邮箱服务

第一步

登录QQ邮箱,在“帐户”里开启“POP3/SMTP”并获取授权码,授权码的说明见http://service.mail.qq.com/cgi-bin/help?subtype=1&&no=1001256&&id=28。

第二步

在Jenkins的“系统管理”->“系统设置”中的“邮件通知”中设置邮件服务器相关的参数,如下图:

img_fef1d03c95b543b38adff3afc261655d.png

特别提示

“用户名”要和“系统管理员邮件地址”中的保持一致,否则会在“通过发送测试邮件配置”进行测试时会报异常:com.sun.mail.smtp.SMTPSendFailedException: 501 mail from address must be same as authorization user

“密码”填写第一步中获取的授权码,否则会报异常:javax.mail.AuthenticationFailedException: 535 Error

126邮箱服务

在Jenkins的“系统管理”->“系统设置”中的“邮件通知”中设置邮件服务器相关的参数,如下图:

img_a2bd13514553e44386f512dd1f6419db.png

特别提示

在使用126的邮箱服务时smtp的端口为默认端口,即25;不需要使用SSL协议,如果勾选“使用SSL协议”会报异常:javax.mail.MessagingException: Could not connect to SMTP host: smtp.126.com, port: 25;

  nested exception is:

     javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection

163邮箱服务

个人邮箱

第一步

登录163邮箱,在“设置”->“POP3/SMTP/IMAP”设置授权码

第二步

在Jenkins的“系统管理”->“系统设置”中的“邮件通知”中设置邮件服务器相关的参数,如下图:

img_deb03bdaf4cfe81d115c11f98f5f724d.png

特别提示

“密码”填在“第一步”中设置的授权码,如果用登录密码会报异常javax.mail.AuthenticationFailedException: 535 Error: authentication faile

关于“smtp服务器”的设置,163邮件的帮助文档里写的是“smtp.126.com”,不要按文档上写的而要使用“smtp.163.com”

163 smtp协议可用端口如下图:

img_db19f8ca6447115b048ce207211b501f.jpe

实际验证发现端口25也可用于SSL协议。

企业邮箱

Job中发邮件功能设置

   Job中要使用发邮件功能,需要在“构建后操作”中选择“邮件通知(Mail Notifcation)”,设置“接收人(Recipients)”,多个接收人时用英文空格分隔。

   “Mailer Plugin”有如下两个可选项:

“每次不稳定的构建都发送邮件通知”

此选项默认是选中的,当Job运行失败或不稳定时发邮件给“接收人”中指定的人

“单独发送邮件给对构建造成不良影响的责任人”

此选项选中时会向导致构建失败的代码提交人的邮件中发送邮件,邮箱后缀名是在“邮件通知”是在“用户邮箱默认后缀”中设置的,如果这样的邮箱不存在将会发送失败导致Job失败。我猜测Mailer Plugin会从scm的提交记录中获取提交人名称,然后和“用户邮箱默认后缀”拼在一起组成邮箱并发送邮件。

版权声明:转载请注明出处 https://blog.csdn.net/houyefeng/article/details/50914582

目录
相关文章
|
22天前
|
运维 jenkins Java
Jenkins 自动化局域网管控软件构建与部署流程
在企业局域网管理中,Jenkins 作为自动化工具,通过配置源码管理、构建及部署步骤,实现了高效、稳定的软件开发与部署流程,显著提升局域网管控软件的开发与运维效率。
37 5
|
2月前
|
运维 监控 jenkins
运维自动化实战:利用Jenkins构建高效CI/CD流程
【10月更文挑战第18天】运维自动化实战:利用Jenkins构建高效CI/CD流程
|
4月前
|
Kubernetes jenkins 持续交付
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
|
4月前
|
Prometheus 监控 Cloud Native
使用 Jenkins 监控和优化构建性能
【8月更文第31天】在软件开发的过程中,构建性能直接影响着开发效率和团队的生产力。一个快速、可靠的构建流程可以显著加快迭代速度,减少等待时间,使团队能够更快地响应变化。Jenkins 作为一款广泛使用的持续集成/持续交付(CI/CD)工具,提供了丰富的功能来帮助开发者监控和优化构建性能。本文将探讨如何利用 Jenkins 的内置工具和外部工具来监控构建性能,并提出一些具体的优化方案。
412 0
|
4月前
|
前端开发 jenkins 持续交付
jenkins学习笔记之二十:docker in docker运行pipeline
jenkins学习笔记之二十:docker in docker运行pipeline
|
4月前
|
jenkins Java 持续交付
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
|
4月前
|
jenkins 持续交付
jenkins学习笔记之十八:nexus制品获取及晋级
jenkins学习笔记之十八:nexus制品获取及晋级
|
4月前
|
Java jenkins 持续交付
jenkins学习笔记之十七:使用插件及maven上传制品到nexus
jenkins学习笔记之十七:使用插件及maven上传制品到nexus
|
4月前
|
jenkins Java 持续交付
jenkins学习笔记之十六:SonarSQube支持多分支
jenkins学习笔记之十六:SonarSQube支持多分支
|
4月前
|
jenkins API 持续交付
jenkins学习笔记之十五:SonarSQube API使用
jenkins学习笔记之十五:SonarSQube API使用