Jenkins+github+Allure配置持续集成环境

 这里记录一下整个环境搭建的步骤~

一、 安装jenkins环境

1、 安装JDK,并配置环境变量

2、 安装apache tomcat

 

3、 下载jenkins.war,把文件【jenkins.war】复制到tomcat的webapps文件夹中

 

4、 再进入到tomcat的bin目录下,找到名为【startup.bat】的文件,双击启动这个bat文件,来启动tomcat服务,启动后dos窗口不要关闭。直到出现【 Jenkins is fully up and running】,后面可以通过打开cmd窗口,打开本地项目webapps的文件夹路径,输入【java -jar jenkins.war】的方式启动

 

5、 打开浏览器,输入ip地址【http://localhost:8080】回车就打开tomcat主页,再加入jekins进入【http://localhost:8080/jenkins】,就打开了jenkins网站,jenkins是一个定时执行程序的网站。(初次进入需要解锁jenkins,安装插件,新建管理员等,按照提示操作即可)

 

二、 jenkins插件安装

1、在jenkins的插件管理安装插件Allure

 

2、系统管理-全局工具配置-Allure Commandline进行如下配置

三、Jenkins持续集成

1、准备自动化项目,上传至github

 

2、新建Jenkins项目

 

3、Jenkins相关配置

①General配置

勾选“Github project”,输入Project url

 

②    源码管理配置

1) 勾选Git,输入Repository URL,点击Add,点击Jenkins

 

2) 弹出添加凭据,选择certificate,输入自己的ssh秘钥

 

3) 构建触发器配置

勾选Poll SCM,日程表中填写 */1 * * * *

 

备注:Poll SCM:定时行的执行,源码有变化才会执行

日程表参数:

第一个参数代表的是分钟 minute,取值 0~59;

第二个参数代表的是小时 hour,取值 0~23;

第三个参数代表的是天 day,取值 1~31;

第四个参数代表的是月 month,取值 1~12;

最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天

举例:

每10分钟构建一次:H/10 * * * *或*/10 * * * *

每天8点构建一次:0 8 * * *

每天8点~17点,两小时构建一次:0 8-17/2 * * *

周一到周五,8点~17点,两小时构建一次:0 8-17/2 * * 1-5

1-6月中每月1号、30号各构建一次:H H 1,30 1-6 *

③    构建配置

1) 根据平台选择执行的命令类型

 

2) 配置pytest环境变量(windows为例)

 

Ps:不加call xxx,exit 0 会报错Windows批处理失败,构建失败

备注:

Mac的pytest可执行目录举例:

export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/3.8/bin

④    报告配置

1) 点击增加构建后步骤,选择Allure Report

 

2) 在path中输入allure报告的xml所在的目录名

 

3) 点击高级,在Report path中输入allure-report

 

⑤    邮件配置

1) 发件人测试邮件配置

点击“系统管理” -》“系统设置”,找到Jenkins Location,在“系统管理员邮件地址”输入发件人测试邮箱地址

 

找到邮件通知,输入SMTP服务器,如smtp.163.com,输入用户名默认邮件后缀,如@163.com。点击高级,输入用户名为发件人测试邮箱地址,密码为客户端授权密码(若不知道客户端授权密码,可自行百度)

 

勾选通过发件测试邮件测试配置

输入Test e-mail recipient为收件邮箱,点击Test configuration,会提示Email was successfully sent。收件人邮箱应该收到了邮件。

 

2) 发件人正式邮件配置

点击“系统管理” -》 “系统设置”,找到Extend E-mail Notification,输入SMTP服务器,如smtp.163.com,输入用户名默认邮件后缀,如@163.com

点击高级,输入用户名为发件人邮箱地址,密码为客户端授权密码(若不知道客户端授权密码,可自行百度),选择Default Content Type为HTML

 

 

将以下html代码复制到Default Content中:

<!-- $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS:
Check console output at $BUILD_URL to view the results. -->

<!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>

            <td>

                <h2>

                    <font>来自XXX.Jenkins的邮件通知</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>项目名称&nbsp;&nbsp;${PROJECT_NAME}</li>

                    <li>触发原因&nbsp;:${CAUSE}</li>

                    <li>构建日志&nbsp;&nbsp;<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>

                    <li>单元测试报告&nbsp;<a href="${BUILD_URL}testReport/">${BUILD_URL}testReport/</a></li>

                    <li>工作目录&nbsp;&nbsp;<a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>

                </ul>

            </td>

        </tr>

                <tr>

            <td><b><font color="#0B610B">构建日志:</font></b>

            <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}</textarea>

            </td>

        </tr>

    </table>

</body>

</html>

3) 收件人配置

收件人需要在项目中进行配置。

进入项目—》点击配置—》点击构建后操作,点击增加构建后操作步骤,点击Editable Email Notification

 

点击右下角,高级 -> 高级设置 -> 高级

 

 

输入Recipient List为收件人,多个收件人用英文逗号隔开

 

4、构建

①自动构建

1)在配置触发器时,输入的*/1 * * * * ,表示Jenkins会每分钟检索GitHub,看是否有代码更新,如果有,则会自动构建。

2)Jenkins刚开始是没有任何代码的,当我们保存后,会自动检测GitHub,如果之前上传过代码,会自动构建。

3)等待构建完成,点击右侧图标,即可查看报告

 

②手动构建,就是手动在项目主页点击构建

 

③构建成功

 

6、 成功后没有发送邮件

 

发现是没有设置trigger点,默认是在任务失败的时候才会发邮件

在任务选择"Editable Email Notificaiton"以后,点击“高级”,然后在Add a Trigger下来列表中选择一个trigger点,比如"Success",这样任务成功也会发送邮件。

 

7、 发送成功

 

8、 参考博文

https://blog.csdn.net/qq_34136709/article/details/106273049

https://blog.csdn.net/vale_/article/details/106496335

https://blog.csdn.net/l631068264/article/details/41990409

https://www.cnblogs.com/hchengmx/p/10876199.html

 

备注:

启动ngrok服务,获得本机8080端口的面向外网的url

①    因为Jenkins的地址是http://localhost:8080,这个地址只能在本机访问,GitHub是访问不到这个网址的,所以要把本机的8080端口也能让外网访问的到暴露给外网。

②    通过这个网址下载ngrok: https://ngrok.com/download

③    打开ngrok.exe文件,运行 ngrok.exe http 8080,暴露出8080端口号。

注意: 这个只能8小时之内有效。

④    得到url: http://xxxxxxx.ngrok.io

posted @ 2021-11-26 15:50  爱学习的喵喵喵  阅读(224)  评论(0)    收藏  举报