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

目录
相关文章
|
2月前
|
jenkins Devops 机器人
【DevOps】(五)Jenkins构建给企业微信推送消息
【DevOps】(五)Jenkins构建给企业微信推送消息
55 1
|
3天前
|
敏捷开发 jenkins 测试技术
阿里云云效产品使用问题之如何进行类似于jenkins那样参数化构建
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
25天前
|
运维 算法 jenkins
做一个可通过jenkins定时任务Cron表达式设置的python定时函数
用python代码,来解析jenkins定时任务表达式,并获取最近的执行任务时间戳
|
25天前
|
Kubernetes Cloud Native jenkins
云原生时代:从Jenkins到Argo Workflows,构建高效CI Pipeline
基于Argo Workflows可以构建大规模、高效率、低成本的CI流水线
|
2月前
|
存储 jenkins 持续交付
Jenkins 构建环境指南
Delete workspace before build starts(常用) 在每次构建开始前清空工作空间。这确保了每次构建开始时都是在一个干净的环境下进行,避免了旧的文件或数据对新构建的影响。特别是对于需要频繁构建的项目,保持工作空间的干净能够确保构建过程的可靠性。 Use secret text(s) or file(s) (常用) 允许你在构建过程中使用加密的文本或文件作为凭证。这对于需要访问受保护资源的构建任务非常有用,可以安全地存储和使用密码、API 密钥等敏感信息,而不用担心泄漏。
207 2
|
2月前
|
jenkins Shell 持续交付
Jenkins job 创建、参数化、定时构建及时区偏差问题
在Jenkins中创建新任务,步骤:设置任务名,选择自由风格,输入描述并配置丢弃旧构建的规则(保留最近3次)。接着,参数化构建过程,添加字符参数并设定其名称、默认值和描述。在构建触发器中,设定定时构建为每2分钟一次(H2/ * * * *)。在构建阶段执行Shell命令,打印参数param。构建结果显示每2分钟执行一次,保留最近3次构建,参数默认值为Jenkins。定时构建的cron语法详解,并给出常见定时构建示例。当遇到Jenkins显示时间与系统时间不一致(UTC时间差8小时)的问题,解决办法是在Docker启动时添加参数调整时区至上海,确认时区修改成功后,构建历史时间将与系统时间同步。
37 2
|
2月前
|
jenkins 持续交付
Jenkins构建简单流水线
Jenkins构建简单流水线
25 0
|
2月前
|
JavaScript jenkins 持续交付
Jenkins自动构建 CI/CD流水线学习笔记(从入门到入土,理论+示例)
Jenkins自动构建 CI/CD流水线学习笔记(从入门到入土,理论+示例)
105 0
|
2月前
|
jenkins Java 持续交付
【项目集成工具】Jenkins
【项目集成工具】Jenkins
|
1天前
|
jenkins Java 持续交付
运用Jenkins实现Java项目的持续集成与自动化部署
在新建的Jenkins Job中,我们需要配置源码管理,通常选择Git、SVN等版本控制系统,并填入仓库地址和凭据。接着,设置构建触发器,如定时构建、轮询SCM变更、GitHub Webhook等方式,以便在代码提交后自动触发构建过程。
19 2