centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

Jenkins作用

可自动拉取代码,定时运行,生成测试报告,构建完成发送邮件等功能

服务端Java安装

由于allure和Jenkins的运行都需要依赖Java环境所以还要安装Java。

Java安装

 dnf -y install java-11-openjdk

 java --version

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

配置环境变量

如果 Java –version无法显示版本,则需要配置环境变量,一般是手动上传JDK包,解压需要配置环境变量。解压路径为JDK的环境变量路径

在/etc/profile文件最后追加:
exprot JAVA_HOME=解压路径
Exprot PATH=J A V A H O M E / b i n : JAVA_HOME/bin:J A V A H ​O M E /b i n :PATH

查看Java环境变量

由于通过yum安装的,自动配置的环境变量,所以需要手动查一下,配置到Jenkins的系统JDK配置里面

[root@VM-16-2-centos etc]
    java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/share/man/man1/java.1.gz
[root@VM-16-2-centos etc]
    lrwxrwxrwx 1 root root 22 Mar  7 10:53 /usr/bin/java -> /etc/alternatives/java
[root@VM-16-2-centos etc]
    lrwxrwxrwx 1 root root 64 Mar  7 10:53 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64/bin/java
[root@VM-16-2-centos etc]
    -rwxr-xr-x 1 root root 16016 Dec 31 08:11    /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64/bin/java

最后一次不是链接状态,使用这一个地址就没问题了,这个很重要Jenkins客户端配置需要jdk的环境
如果修改profile后命令失效使用以下命令使命令零时生效,改回profile

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

关于profile中PATH的书写格式

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
export ALLURE_HOME=/usr/allure/allure-2.13.2
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64
export PATH=$PATH:$ALLURE_HOME/bin:$JAVA_HOME/bin
格式:Export PATH=$PATH::::....

Jenkins服务安装

下载安装

Jenkins下载比较简单,在官网有非常详细的安装命令可以去官网查看

安装命令:(root用户不用 sudo )

    导入秘钥

    rpm 包是使用这个密钥签名的:

          62A9756BFD780C377CF24BA8FCEF32E745F2C3D5

sub   rsa4096 2020-03-30 [E] [expires: 2023-03-30]

启动服务后,状态为以下图片所示,那么Jenkins服务器就装好了。

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
此时使用 企鹅云公网IP:8080,如果可以成功访问,就行了,如果不行,就继续配置防火墙和端口。

Jenkins防火墙及端口配置

我用的是企鹅云的centos服务器,其他的可以参照一下,不一定完全一样。
步骤为:启动Jenkins–>启动防火墙–>将端口添加到防火墙–>重启防火墙–>查看防火墙开放端口

防火墙检查

[root@localhost ~]

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
[root@localhost ~]

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
[root@localhost ~]

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
如果有开放的端口,就需要查询一下访问Jenkins的端口是否被占用,执行下面两条代码查看
[root@VM-16-2-centos ~]
[root@VM-16-2-centos ~]

如果没有端口则需要为Jenkins服务添加端口。

[root@localhost ~]
解释:–zone
[root@localhost ~]

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
此时再去浏览器访问Jenkins还是无法访问,后来百度了一下,发现是企鹅云的控制台也做了防火墙,对端口进行了过滤,所以还要到腾讯云的控制台开放8080端口。

腾讯云控制台配置

登录并进入腾讯云的防火墙控制界面,添加规则如下所示。

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
完成以上步骤,浏览器就可以访问Jenkins服务。

; Jenkins客户端使用

通过网页能都打开Jenkins后,继续一下配置。

添加管理员

通过本第浏览器访问Jenkins :服务器公网IP:8080
进入首页创建一个管理员账号,记住密码,记住密码,记住密码,密码忘了我也不知道怎么搞,可能要到服务器删密码之类的操作。
根据首页提示(有一个路径),到服务器对应路径下将公钥拷贝到登录页,即可进行管理员创建。

插件下载

管理员创建好后,回提示安装推荐插件,这里会自动安装git,email需要的插件,也可以跳过根据自己的需求安装,下面看看安装插件的过程。

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
这里如果推荐插件都安装了的话,只需要安装allure的插件就好了,Jenkins只是提供了一个平台,具体实现功能需要依赖插件,上图说错了一个地方,就下页面的三个按钮,最后一个才是立即获取。

; 全局工具配置

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

JDK全局环境配置

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
在Java安装环节说过Java安装目录如何查找了,这里就放个图吧。
centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

; git全局环境配置

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

allure全局配置

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

; 系统配置

完成全局配置后进行系统配置,主要是邮箱配置。

邮箱配置

分为两个部分一个是,Jenkins location,一个是邮件通知

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
邮件通知配置:
centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

; Extended E-mail Notification可编辑模板邮件配置

这个配置号,可以发送自己指定模板格式的邮件,而不是一个简单的一个通知,先看一下全貌,如果和我的不一样,就点一下后面的高级展开。

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
Default Content:(模板)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${PROJECT_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>
            <td>(本邮件是程序自动下发的,请勿回复!)<br/></td>
        </tr>
        <tr>
            <td><h2>
                    <font color="#0000FF">构建结果 - ${BUILD_STATUS}</font>
                </h2></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>构建日志: <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>系统的测试报告 : <a href="${PROJECT_URL}${BUILD_NUMBER}/allure">${PROJECT_URL}${BUILD_NUMBER}/allure</a></li>
                </ul>
            </td>
        </tr>
        <tr>
            <td><b><font color="#0B610B">Changes Since Last Successful Build:</font></b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td>
                <ul>
                    <li>历史变更记录 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
                </ul> ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:%c",showPaths=true,changesFormat="[%a]%m",pathFormat="    %p"}
            </td>
        </tr>
        <tr>
            <td> <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td></td>
        </tr>
        <tr>
            <td><b><font color="#0B610B">构建情况总览:</font></b>${TEST_COUNTS,var="fail"}<br/>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td><textarea cols="80" rows="30" readonly="readonly"
                    style="font-family: Courier New">${BUILD_LOG,maxLines=23}</textarea>
            </td>
        </tr>
    </table>
</body>
</html>

全局属性配置

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
完成以上配置,就可以构建工程,自动执行代码,生成报告,并发送邮件了。

; 工程构建

点击首页,新建工程开始构建:

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
点击下面确定进入详细配置。
centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

高级报告设置

这里配置不对,测试报告打开就是空白的,详细说一下;点击allure report中的高级按钮进行如下配置

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
这个为本地的目录结构。
centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

; 构建后发送电子邮件之Editable Email notification

添加好报告配置后,继续添加构建后操作,如下选择Editable Email notification

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

Project recipients list:项目收件人列表

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

; Attach build log:附件加生成日志

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

添加trigger:

&#x6DFB;&#x52A0;tiggers&#x624D;&#x4F1A;&#x89E6;&#x53D1;&#x53D1;&#x9001;&#x90AE;&#x4EF6;
&#x4E3B;&#x8981;&#x6DFB;&#x52A0;&#x7684;Triggers&#x6709;&#x4E09;&#x7C7B;&#xFF1A;
Always--&#x603B;&#x662F;
Failure-Any&#xFF0C;--&#x6784;&#x5EFA;&#x5931;&#x8D25;
Success&#xFF0C;--&#x6784;&#x5EFA;&#x6210;&#x529F;
Unstable (Test Failures)--&#x6784;&#x5EFA;&#x4E0D;&#x7A33;&#x5B9A;&#x65F6;&#x89E6;&#x53D1;&#x53D1;&#x9001;&#x90AE;&#x4EF6;&#x901A;&#x77E5;&#x3002;
&#x8FD9;&#x91CC;&#x9009;&#x62E9;always
&#x627E;&#x4E0D;&#x5230;&#x8FD9;&#x4E2A;&#x5C31;&#x70B9;&#x540E;&#x9762;&#x7684;&#x9AD8;&#x7EA7;&#x6309;&#x94AE;&#x3002;

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

完成后邮件效果

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

; 最后贴一个调试的次数

centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建
centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

Original: https://blog.csdn.net/qq_45827611/article/details/123634743
Author: panzercc1
Title: centos+git+Jenkins+pytest+allure实现自动化集成测试后发送测试报告邮件(三):Jenkins搭建

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/772427/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球