ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Jenkins构建失败发送邮件

2021-09-14 17:31:19  阅读:138  来源: 互联网

标签:URL 发送 构建 BUILD Jenkins 邮件


Jenkins构建失败发送邮件

 

前言#

前面已经介绍过了在Jenkins持续集成python自动化测试项目并使用allure报告的内容。这篇我们来说一下,当构建失败之后发送邮件通知相关的人员。

安装发送邮件插件#

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

Email Extension Plugin

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

QQ截图20200623222038.png

系统管理员邮箱配置#

QQ截图20200623211605.png

Extended E-mail Notification设置#

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

QQ截图20200623221237.png

QQ截图20200623221427.png

QQ截图20200623211904.png

配置说明:

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

  • 默认内容(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}console</a>
                <li>工作目录&nbsp;:&nbsp;<a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></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.html</a></b>
        </div>
        <!-- <div>
            <h4>
                <font color="#0B610B">测试结果</font>
            </h4>
            <hr size="2" width="100%" />
            <div>
                本次测试共执行<b>${TEST_COUNTS}</b>个用例,成功<b style="color: green">${TEST_COUNTS,var="pass"}</b>个,失败<b
                    style="color: red">${TEST_COUNTS,var="fail"}</b>个,跳过<b
                    style="color: #FFEB3B">${TEST_COUNTS,var="skip"}</b>个。
            </div>
        </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 变量一直获取为空,有谁知道怎么弄告诉我一下。

测试邮件发送#

QQ截图20200623211956.png

QQ截图20200623212517.png

我们打开邮箱看看:

QQ截图20200623212603.png

成功收到邮件,说明我们的邮件配置没有问题了。记得点击保存返回。

项目中的配置#

打开项目的设置界面。翻到最下面。点击增加构建后操作步骤。

QQ截图20200623212950.png

选择 Editable Email Notification

QQ截图20200623215405.png

详细配置:

QQ截图20200623215311.png

QQ截图20200623215624.png

QQ截图20200623215804.png

QQ截图20200623215832.png

然后点击应用并保存。

尝试构建失败#

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

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

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

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

点击Build Now开始构建!

QQ截图20200623220000.png

QQ截图20200623220850.png

构建完成后可以看到最后一次的构建失败了。

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

QQ截图20200623220959.png

QQ截图20200623221009.png

成功收到了构建失败的邮件!

查看一下控制台的日志输出:

QQ截图20200623221751.png

至此Jenkins构建失败并发送邮件就已经完成了哦。

后记#

本章你学会了

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

作者:随风挥手

出处:https://www.cnblogs.com/wxhou/p/13184939.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

标签:URL,发送,构建,BUILD,Jenkins,邮件
来源: https://www.cnblogs.com/iancloud/p/15268641.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有