Jenkins构建失败发送邮件

前言

这篇我们来说一下,当构建失败之后发送邮件通知相关的人员。

安装发送邮件插件

由于Jenkins内置的邮件发送功能有点少。所以我们需要安装一个邮件插件。

Email Extension Plugin

在可选插件中搜索,因为我已经安装了,所以是已安装选项的。

Jenkins构建失败发送邮件_第1张图片

系统管理员邮箱配置

在这里插入图片描述

Extended E-mail Notification设置

我们进入Configure System然后找到Extended E-mail Notification这一项。

Jenkins构建失败发送邮件_第2张图片
Jenkins构建失败发送邮件_第3张图片
Jenkins构建失败发送邮件_第4张图片
配置说明:

——邮件通知的用户要和系统管理员邮箱一样

——默认内容(Default Content)说明:

由于Jenkins自带的邮件内容,太简单,所以我们优化一下。以下是我把网上的两套模板进行了融合。

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">
    <div width="95%" cellpadding="0" cellspacing="0"
        style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
        <div>本邮件由系统自动发出,无需回复!
            <br />
            <br>各位同事,大家好,以下为${PROJECT_NAME }自动化测试项目构建信息
            <br />
            <div>
                <font color="#CC0000">构建结果 - ${BUILD_STATUS}font>
            div>
        div>
        <div>
            <h4>
                <font color="#0B610B">构建信息font>
            h4>
            <hr size="2" width="100%" />
            <ul>
                <li>项目名称 : ${PROJECT_NAME}li>
                <li>构建编号 : 第${BUILD_NUMBER}次构建li>
                <li>触发原因: ${CAUSE}li>
                <li>构建状态: ${BUILD_STATUS}li>
                <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}consolea>
                <li>工作目录  <a href="${PROJECT_URL}ws">${PROJECT_URL}wsa>li>
                li>
                <li>构建 Url : <a href="${BUILD_URL}">${BUILD_URL}a>
                li>
                <li>项目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}a>
                li>
            ul>
        div>
        <div>
            <h4>
                <font color="#0B610B">测试报告font>
            h4>
            <hr size="2" width="100%" />
            <b>点击查看测试报告: <a href="${PROJECT_URL}ws/report/report.html">${PROJECT_URL}ws/report/report.htmla>b>
        div>
        
        <div>
            <h4>
                <font color="#0B610B">构建日志 (最后20行):font>
                <hr size="2" width="100%" align="center" />
            h4>
        div>
        <div>
            <ul>
                <li>${BUILD_LOG, maxLines=22}li>
            ul>
        div>
    div>
body>

html>

获取测试结果的 TEST_COUNTS 变量一直获取为空,有谁知道怎么弄告诉我一下。

测试邮件发送

Jenkins构建失败发送邮件_第5张图片
在这里插入图片描述
我们打开邮箱看看:

Jenkins构建失败发送邮件_第6张图片
成功收到邮件,说明我们的邮件配置没有问题了。记得点击保存返回。

项目中的配置

打开项目的设置界面。翻到最下面。点击增加构建后操作步骤。
Jenkins构建失败发送邮件_第7张图片
选择 Editable Email Notification
Jenkins构建失败发送邮件_第8张图片
详细配置:
Jenkins构建失败发送邮件_第9张图片
Jenkins构建失败发送邮件_第10张图片
Jenkins构建失败发送邮件_第11张图片
Jenkins构建失败发送邮件_第12张图片
然后点击应用并保存。

尝试构建失败

好了添加好了,我们来测试一下吧。

更改测试用例test_002为预期失败的用例

assert not all(["selenium" in i for i in search.imagine])

然后进入到Jenkins中项目的主页面。

点击Build Now开始构建!
在这里插入图片描述
Jenkins构建失败发送邮件_第13张图片
构建完成后可以看到最后一次的构建失败了。

然后我们打开邮箱看一下有没有收到邮件!

Jenkins构建失败发送邮件_第14张图片
Jenkins构建失败发送邮件_第15张图片
成功收到了构建失败的邮件!

查看一下控制台的日志输出:
Jenkins构建失败发送邮件_第16张图片
至此Jenkins构建失败并发送邮件就已经完成了哦。

后记

本章你学会了

Jenkins系统设置中的邮件配置
Jenkins项目的设置中配置邮件发送
控制台日志中查看发送邮件情况

你可能感兴趣的:(jenkins,运维)