目录[-]
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、输入java、javac -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