创建自动化maven构建流程
前提条件:
1.Maven Integration plugin已安装
2.全局配置
Manager Jenkins下Global Tool Configuration工具相关配置如下
下图Allure不知道暂时可不配置
点击新建item
输入名称后点击确定:
源码管理
以git为例,输入仓库地址
点击添加按钮,在弹出的页面中输入git的用户名和密码
Credentials下拉框选择刚刚配置的数据
构建触发器
配置自动构建定时任务
选择Build periodically
日程表格式:
每隔5分钟构建一次
H/5 * * * *
每两小时构建一次
H H/2 * * *
每天中午12点定时构建一次
H 12 * * *
每天下午18点定时构建一次
H 18 * * *
在每个小时的前半个小时内的每10分钟
H(0-29)/10 * * * *
每两小时45分钟,从上午9:45开始,每天下午3:45结束
9-16/2 * * 1-5
每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午4:38)
H H(9-16)/2 * * 1-5
构建环境
无需修改
Pre Steps
构建设置
无需配置
构建后操作
用来增加比如生成Allure Report或者邮件通知相关的数据
继续下个步骤前,可先保存当前配置后,按照如下操作
配置Allure Report
1.Jenkins管理界面安装插件Allure Jenkins Plugin
2.登陆github下载Allure官方工具
https://github.com/allure-framework/allure2/releases
3.点击下载
4,自行规划目录并解压即可
5,按照前期准备步骤操作图4
6.回到jenkins界面
7.点击下拉框,继续点击配置按钮
8.切换至构建后操作栏目
- 点击增加构建后操作步骤并选择Allure Report(正常步骤1的插件安装完成后,即可选到Allure Report)
- 配置如下
Path的路径取决于项目配置allure json文件的生成相对路径,如我的项目的pom文件中的对应配置如下:
<!--生成allure-result的目录-->
<systemProperties>
<property>
<name>allure.results.directory</name>
<value>./target/allure-results</value>
</property>
</systemProperties>
点击构建,完成后如下页面点击Allure Repoter即可
配置邮件通知
单项目邮件通知
进入插件管理搜索安装Email Extension Plugin
进入Manage Jenkins->系统配置界面
Extended E-mail Notification页签配置如下
Default Subject 配置如下:
$自动化测试结果通知 - Build # $BUILD_NUMBER - $BUILD_STATUS!
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">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
本邮件由系统自动发出,无需回复!<br/>
各位同事,大家好,以下为${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}allure">${BUILD_URL}allure</a></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>项目 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">最近提交(#$SVN_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>
- 邮件通知页签配置如下(参考步骤3)
图中使用的126邮箱,需要登录到主邮箱修改开放smtp权限
-
不同于上面的配置,此处可以检测你的配置是否正确
5.1勾选通过发送测试邮件测试配置
5.2输入收件人邮箱
5.3 点击测试连接,正常场景会受到一封邮件如下
- 编辑构建流程
-
选中构建后操作
- 滑至底部,点击增加构建后操作步骤
-
选择编辑邮件通知节点
-
配置如下
Default Subject 配置如下:
$自动化测试结果通知 - Build # $BUILD_NUMBER - $BUILD_STATUS!
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">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
本邮件由系统自动发出,无需回复!<br/>
各位同事,大家好,以下为${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}allure">${BUILD_URL}allure</a></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>项目 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">最近提交(#$SVN_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>
<此处有重复,自行按照说明配置即可>
- 继续点击高级设置
-
删除原配置
-
点击add Trigger
- 选择always,表示总是发送邮件
-
配置收件群组
注意,很多人说RecipientList必须删除下,然后重新添加,才能正常收到邮件,如果各位收不到邮件可以尝试下
-
触发构建,最终收到的邮件如下
邮件模板配置
上述提供的邮件发送,仅仅支持单独的项目使用,每个项目都这么去配置的话,比较浪费时间,下面说明模板配置的方法
1.进入邮件模板配置界面(如果没有,查看插件[Email Extension Template Plugin(https://plugins.jenkins.io/emailext-template)是否正常安装)
2.点击添加新模板
3.按照截图配置
展开高级设置
Triggers请一定按照截图配置.可参照单项目的邮件配置说明
这里把邮件相关的参数在贴一遍吧
Project Reply-To List:$DEFAULT_REPLYTO
Content Type:text/html
Default Subject:自动化测试结果通知 - Build # $BUILD_NUMBER - $BUILD_STATUS!
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">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
本邮件由系统自动发出,无需回复!<br/>
大家好,以下为${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}allure">${BUILD_URL}allure</a></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>项目 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">最近提交(#$SVN_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>
4.邮件模板管理项目
编辑项目,选择邮件模板
选择构建后操作,点击增加构建后操作
选择新建的模板名称后保存
(可选)重置用户名和密码
进入jenkins安装目录,默认为/var/lib/jenkins
备份配置文件
cp config.xml config.xml.bak
删除截图中对应的配置(关键字useSecurity)
重启jenkins
systemctl restart Jenkins
再次访问jenkins地址可直接打开的首页,无需用户名密码
后续可自行新建用户,并赋予用户相应权限即可使用用户名和密码登陆