上一期已经讲述了如何基础搭建 jenkins ,实现了 push 代码,完成自动化打包发布,但是因为你重新打包发布了,万一打包失败了呢?你如何知道?
所以这一期将为 jenkins 配上邮件通知,将打包的详情通过邮件的形式通知管理员或者运维人员。
下载安装插件 Email Extension Plugin

邮箱授权
如我使用的是 163 邮箱,进入设置开始 SMTP 服务,如下图

UnknownHost\*\*\* smtp.163.com 类似这个错误,我网上查了2天都没找到原因,改过 hosts, 改过 dns 解析... 之后两个都开通之后就可以了。
开通需要扫码发送短信,记得复制保存好密码
jenkins 配置
管理员邮件地址一定要配 可以直接填邮箱地址,或者像我这样带上名称

注意这里的 password 是你对应邮箱的外部软件访问的私钥,不是你的邮箱登录密码


Default Subject: 默认邮件标题
Default Content: 默认邮件内容,代码是我写的一个简单的模板,我放在文末,大家自取

Default Triggers: 可以选择 always,方便构建验证,之后可以根据你的实际需求自己调整
然后最下方的邮件通知可以用作测试(配置按照上方的,然后勾选通过发送测试邮件测试配置) 如果测试邮件通过,那么恭喜你成功了!
// Default Content 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
<style TYPE="text/css">
p, ul, li, div, h3, h4, pre {
padding: 0;
margin: 0;
}
.jenkins-email {
font-family: -apple-system,BlinkMacSystemFont,segoe ui,
Roboto,helvetica neue,Arial,noto sans,sans-serif,
apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji !important;
}
.jenkins-email_header {
color: #52c41a;
}
.jenkins-email_main {
width: 80%;
margin: 0 auto;
}
.jenkins-email_card {
line-height: 1.5;
border: 1px solid #d5d5d5;
border-radius: 3px;
margin: 20px 0;
}
.jenkins-email_card header {
line-height: 40px;
border-bottom: 1px solid #d5d5d5;
padding: 0 20px;
}
.jenkins-email_card .card_info {
list-style: none;
padding: 20px 20px 30px;
}
.jenkins-email_card .card_info > li {
margin-bottom: 10px;
display: -webkit-box; /* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */
display: -moz-box; /* Firefox 17- */
display: -webkit-flex; /* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */
display: -moz-flex; /* Firefox 18+ */
display: -ms-flexbox; /* IE 10 */
display: flex; /* Chrome 29+, Firefox 22+, IE 11+, Opera 12.1/17/18, Android 4.4+ */
color: #333;
}
.jenkins-email_card .card_info > li > .label {
margin-right: 16px;
color: #aaa;
width: 100px;
}
.log-area {
-webkit-box-flex: 1;
-ms-flex: 1;
-webkit-flex: 1;
flex: 1;
font-size: 14px;
}
@media screen and (max-width: 600px) {
.jenkins-email_main {
width: 100%;
margin: 0 auto;
font-size: 12px;
}
}
</style>
</head>
<body class="jenkins-email">
<main class="jenkins-email_main">
<header class="jenkins-email_header">
<h2>${PROJECT_NAME} 构建结果: ${BUILD_STATUS}</h2>
</header>
<article>
<p>(本邮件是Jenkins构建项目完成之后自动下发的,请勿回复!)</p>
<section class="jenkins-email_card">
<header><h3>构建信息</h4></header>
<ul class="card_info">
<li>
<div class="label">项目名称</div>
<div>${PROJECT_NAME}</div>
</li>
<li>
<div class="label">项目显示名称</div>
<div>${PROJECT_DISPLAY_NAME}</div>
</li>
<li>
<div class="label">Jenkins 地址</div>
<div>${JENKINS_URL}</div>
</li>
<li>
<div class="label">项目描述</div>
<div>${JOB_DESCRIPTION}</div>
</li>
<li>
<div class="label">构建编号</div>
<div>${BUILD_NUMBER}</div>
</li>
<li>
<div class="label">Git 版本</div>
<div>${branch}</div>
</li>
<li>
<div class="label">发布者</div>
<div>${CAUSE}</div>
</li>
<li>
<div class="label">Git Commit</div>
<div>${GIT_COMMIT}</div>
</li>
<li>
<div class="label">构建日志</div>
<div><a href="${BUILD_URL}console">日志地址</a></div>
</li>
<li>
<div class="label">构建地址</div>
<div><a href="${BUILD_URL}">${BUILD_URL}</a></div>
</li>
<li>
<div class="label">工作目录</div>
<div><a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></div>
</li>
<li>
<div class="label">项目地址</div>
<div><a href="${PROJECT_URL}">${PROJECT_URL}</a></div>
</li>
</ul>
</section>
<section class="jenkins-email_card">
<header><h3>历史变更 & 失败测试记录</h4></header>
<ul class="card_info">
<li>
<div class="label">历史变更记录: </div>
<div><a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></div>
</li>
<li>
<div class="label">失败测试记录: </div>
<div>
${FAILED_TESTS}
</div>
</li>
</ul>
</section>
<section class="jenkins-email_card">
<header><h3>构建日志</h4></header>
<ul class="card_info">
<li>
<div class="label">最后 100 行: </div>
<pre class="log-area">${BUILD_LOG, maxLines=100}</pre>
</li>
</ul>
</section>
</article>
</main>
</body>
</html>
如果有什么问题,可以直接留言,能回答的我会及时回答的,当然po主也是第一次接触,有些问题可能回答不上来,敬请谅解