目录[-]

2025年4月25日编写—5月6日结束

 

之前统一整理了自动化、接口、甚至自动化测试平台httprunner,接下来就是集成CI,生成的Allure测试报告有一点问题,就是给别人看的时候,静态文件浏览器打不开(本地资源限制),所以决定集成到Jenkins

前置条件

 

1、Java版本:jenkins后续不支持java8版本,所以需安装java17版本,下载地址:

https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

https://download.oracle.com/java/17/archive/jdk-17.0.12_windows-x64_bin.msi

进入到该文件夹,进入powershell环境,输入命令生成jre文件夹:

bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre

2、编辑环境变量

1、新建JAVA_HOME,值是:D:\Java\jdk-17

2、path目录,添加一条:%JAVA_HOME%\bin

3、同上,添加一条:%JAVA_HOME%\jre\bin

3、输入javajavac -version,正常返回值,证明JAVA环境配置正确

Jenkins下载流程和部署流程

 

1、下载Jenkins并搭建环境

 

Jenkins下载地址:https://www.jenkins.io/download/

选择windows版本,下载后的文件为:jenkins.msi

安装软件

安装完毕后,默认Jenkins打开链接是http://www.localhost:8080

————————

如果jenkins无法自动启动

 

1、更换路由:http://127.0.0.1:8080/

————————

2、如果仍然无法进入,重启Jenkins服务后,重新进入(在url最右侧加/restart)

  • cmd输入:net stop jenkins
  • cmd输入:net start jenkins

————————

3、如果还不行,查看端口占用情况

  • cmd输入:netstat -ano | findstr "8080" Listening的数字就是应用程序PID
  • cmd输入:tasklist | findstr "7248" 查看是哪个应用程序占用了端口

4、选择左侧,安装推荐的插件,安装后,再去Manage Jenkins,下载locale chinese插件,如果没有就去这个地址https://plugins.jenkins.io/下载对应插件后,将插件加载到jenkins,重启网页后生效

————————

5、如果在安装过程中报错,比如某个插件安装不上,则去网页搜索报错的插件,下载到本地后,手动部署

————————

6、点击“Tools”,进入目录Manage Jenkins/Tools,配置jdk、allure的本地环境http://www.localhost:8080/manage/configureTools/

配置JDK路径

配置Allure路径

如果需要的话,就配置git路径,不需要就算了

————————

7、回到Jenkins首页:http://www.localhost:8080/新建一个freestyle的任务

进入项目首页后,向下滑动到Build Steps(构建步骤)

添加命令语句,我们之前步骤已经将python根目录文件放到demo(jenkins分配的工作空间)目录下,所以这里使用相对路径也可以识别到

再新增一个构建后操作,这里的意思是,生成的测试报告放在哪个目录下

运行后的效果,点击Allure图标,跳转到报告页

配置定时器

5个字段组成, 分钟、小时、数字、月、日期

常用:

# 每十五分钟触发一次

H/15 * * * *

# 每个小时的前半小时,每十分钟1次

H(0-29)/10 * * * *

# 每天一次,每月的1日和15日,除了12月

H H 1,15 1-11 *

# 每个工作日的上午8点到下午4点之间,每2个小时有一个时间点

H H(8—15)/2 * * 1-5

————————

添加构建后操作

配置是没错的,但控制台还是发不出去邮件,属实是很恼火,但我还没解决,不如用python代码写邮件发送相关代码

————————

8、配置System环境变量

这里是我们的主目录:C:\ProgramData\Jenkins\.jenkins

而工作空间,就是在该目录下的文件夹

添加管理员邮件地址,注意,这是发件人的邮箱地址

向下找到Extended E-mail Notification,添加配置,包括STMP服务器的域名、端口号等

发送报告格式、默认收件人邮箱(列表形式,用逗号隔开多个收件人)

Default Content粘贴下面一段

<!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">    
    <h3>以下是Jenkins自动发送的邮件,请勿回复!</h3>
    <div>
    <table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">    
        <tr>               
            本邮件为${PROJECT_NAME }项目构建信息</br> 
            <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></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>构建状态 : ${BUILD_STATUS}</li>    
                    <li>构建日志 : <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>  
                    <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>     
                    <li>构建URL : <a href="${BUILD_URL}">${BUILD_URL}</a></li>    
                    <li>项目URL : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>    
                </ul>    

<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>

<h4><font color="#0B610B">最近提交(#$GIT_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>

            </td>    
        </tr>    
    </table>    
</body>    
</html>

勾选Enable Debug Mode,显示所有的构建信息,在控制台输出时方便找到错误信息

邮件通知,填写下述内容,这里的密码,指的是16位授权码,不是邮件密码

通过发送测试邮件测试配置

输入收件邮件并点击按钮,就可以验证配置是否正确,但如果还收不到邮件,可能是配置错误

 

END