一、 为什么你的Jenkins需要邮件通知?
想象一下:你刚提交了一段自以为完美的代码,然后悠闲地喝起了咖啡。殊不知,这次构建已经失败了!但你完全不知情,直到测试同事怒气冲冲地跑来质问:“服务又挂了!你到底在干嘛?!”
尴尬不?
这就是没有配置Jenkins邮件通知的代价!Jenkins自动化构建很棒,但如果没有及时的通知机制,它就相当于一个只会埋头干活却从不汇报的员工。
邮件通知能帮你:
- 即时反馈:构建成功还是失败?邮件第一时间告诉你,不用频繁登录Jenkins查看。
- 责任到人:谁提交的代码导致构建失败?邮件可以直接通知到具体责任人。
- 信息聚合:构建编号、变更记录、测试结果、日志链接……所有关键信息一目了然地汇总在邮件中。
- 历史追溯:邮件记录为构建历史提供了可搜索的证据链,方便后续分析与审计。
说白了,邮件通知就是Jenkins自动化流程的“嘴巴”,它会主动告诉你发生了什么,让你从被动的检查者变成主动的接收者。
二、 准备工作:配置Jenkins邮件环境
2.1 安装邮件插件
Jenkins自带基础的邮件功能,但真心不够用!我们需要请出Email Extension Plugin这个神器。
安装方法:
- 登录Jenkins,进入 Manage Jenkins → Manage Plugins
- 选择 Available 选项卡,搜索 "Email Extension Plugin"
- 点击安装,完成后重启Jenkins
这个插件比自带的邮件功能强太多了:支持漂亮的HTML模板、可以添加附件、灵活的收件人策略、还能自定义触发条件。
2.2 配置SMTP服务器
接下来,我们需要告诉Jenkins如何发送邮件,就像设置一个邮差:
- 进入 Manage Jenkins → Configure System
- 滚动到 Jenkins Location 部分,填写系统管理员邮件地址(这个必须设置,否则会报错)
- 找到 Extended E-mail Notification 部分,进行SMTP配置:
SMTP server: smtp.163.com # 以163邮箱为例
SMTP port: 465 # 或587,根据邮箱服务商而定
Credentials: 你的邮箱账号和密码
Use SSL: ☑ 是 # 建议勾选
- 点击 Test configuration 发送测试邮件,验证配置是否正确。
小贴士:不同的邮箱服务商SMTP设置略有不同,腾讯云、阿里云等也有相关的配置文档。
2.3 全局邮件模板设置
想让你的邮件看起来专业又美观?可以配置默认模板:
在 Extended E-mail Notification 部分,找到 Default Content,填入HTML模板。
<!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>
</td>
</tr>
</table>
</body>
</html>
这个模板使用了Jenkins内置变量,如${PROJECT_NAME}、${BUI

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



