Jenkins环境搭建(3)-配置自动发送邮件

时间:2023-03-09 19:24:13
Jenkins环境搭建(3)-配置自动发送邮件

紧接上一篇博文继续来完善Jenkins自动构建环境的搭建,今天来分享下配置邮件,构建任务后,自动发送邮件到指定邮箱

配置邮件分为两部分,第一部分是在系统管理中的系统设置中配置,第二部分是在任务中配置

一、系统管理中配置

1.登录jenkins,点击系统管理中的系统设置,如下:

Jenkins环境搭建(3)-配置自动发送邮件

2.配置系统管理员邮件地址,这个是必须配置的,需要注意,不然会导致邮件的发送失败

Jenkins环境搭建(3)-配置自动发送邮件

3.拖动设置页面,看到Extended E-mail Notification,这个地方就是配置邮件的

Jenkins环境搭建(3)-配置自动发送邮件

邮箱的授权密码获取方式如下:

Jenkins环境搭建(3)-配置自动发送邮件

点击生成授权码,即可获取对应的密码,复制进来,输入到密码输入框中即可

Jenkins环境搭建(3)-配置自动发送邮件

继续往下配置

Jenkins环境搭建(3)-配置自动发送邮件

4.配置邮件正文,此处可以不配置,在任务中配置时,也可以配置邮件正文

Jenkins环境搭建(3)-配置自动发送邮件

邮件正文模板

<!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>
本邮件由系统自动发出,无需回复!<br/>
各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br>
<td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">构建信息</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称 : ${PROJECT_NAME}</li>
<li>构建编号 : 第${BUILD_NUMBER}次构建</li>
<li>触发原因: ${CAUSE}</li>
<li>构建状态: ${BUILD_STATUS}</li>
<li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>构建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
<li>项目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
</ul> <h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/> <h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/> </td>
</tr>
</table>
</body>
</html>

5.配置默认邮件触发器,如下

Jenkins环境搭建(3)-配置自动发送邮件

有多种触发情况,可以根据自己的实际情况配置,如下:

Jenkins环境搭建(3)-配置自动发送邮件

6.配置好这些后,测试下邮件功能配置的是否正确,如下:

Jenkins环境搭建(3)-配置自动发送邮件

输入邮箱点击Test configuration按钮,出现Email was successfully sent即表示邮件发送测试成功,如下:

Jenkins环境搭建(3)-配置自动发送邮件

查看邮箱,收到该测试邮件

Jenkins环境搭建(3)-配置自动发送邮件

经过上述步骤,在系统管理中的邮箱配置,就完成了,也成功了,点击保存按钮,使配置生效

将上述的配置项,特别重要的集中梳理下,

①Default Content Type

默认的邮件内容格式,文本类型或HTML类型

②Default Recipients

设置默认的邮件接收人,设置后就可以在任务的配置中使用$DEFAULT_RECIPIENTS来直接发送邮件,非常方便

具体的格式抄送用“cc:”前缀,密送用“bcc:”前缀,不使用前缀默认为收件人;多个接收人,用逗号分割,譬如cc:someone@example.com, bcc:bob@example.com

③Default Subject

默认的邮件主题,$BUILD_NUMBER , $BUILD_STATUS!构建的编号和构建的状态,具体可以超看界面下方的“Content Token Reference”帮助,里面列出了所有的变量

④Default Content

默认内容,这步可以省略,具体可以到任务的配置中去设置

⑤Default Triggers

默认的邮件触发器,就是什么情况下触发邮件的发送

二、任务中邮箱配置

点击具体任务的配置,进入到任务配置页进行配置

1.发送邮件是在构建后操作中设置,添加插件Editable Email Notification,如下,如果没有,需要安装该插件,安装方式就略过了

Jenkins环境搭建(3)-配置自动发送邮件

进行相应的配置,需要注意的是,比如标题,正文在系统管理中设置了,在任务中也设置了,会以任务的设置优先,也可以引用系统设置中的配置,比如,收件人用$DEFAULT_RECIPIENT来引用

Jenkins环境搭建(3)-配置自动发送邮件

2.点击高级设置,可以按构建的情况触发邮件

Jenkins环境搭建(3)-配置自动发送邮件

设置收件人列表

Jenkins环境搭建(3)-配置自动发送邮件

将生成的报告添加在邮件中,做为附件一并发送,配置如下:

Jenkins环境搭建(3)-配置自动发送邮件

Attachments默认路径是jenkins的工作路径,所以此处只需要设置报告的相对路径即可

三、构建任务

配置好后,将配置保存,来构建一次,查看构建任务控制台输出

Jenkins环境搭建(3)-配置自动发送邮件

查看邮件,如下:

Jenkins环境搭建(3)-配置自动发送邮件

这样一步步操作配置下来,任务构建后,成功收到邮件,还是一件很有意义的事情,很充实,希望对正在配置jenkins邮件的人们有所帮助,不早了,大家早点休息。