创建自动化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.results.directory
./target/allure-results
点击构建,完成后如下页面点击Allure Repoter即可
配置邮件通知
单项目邮件通知
进入插件管理搜索安装Email Extension Plugin
进入Manage Jenkins->系统配置界面
Extended E-mail Notification页签配置如下
Default Subject 配置如下:
$自动化测试结果通知 - Build # $BUILD_NUMBER - $BUILD_STATUS!
Default Content配置如下
${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志
本邮件由系统自动发出,无需回复!
各位同事,大家好,以下为${PROJECT_NAME }项目构建信息
构建结果 - ${BUILD_STATUS}
构建信息
- 项目名称 : ${PROJECT_NAME}
- 构建编号 : 第${BUILD_NUMBER}次构建
- 触发原因: ${CAUSE}
- 构建状态: ${BUILD_STATUS}
- 测试报告: ${BUILD_URL}allure
- 构建日志: ${BUILD_URL}console
- 构建 Url : ${BUILD_URL}
- 工作目录 : ${PROJECT_URL}ws
- 项目 Url : ${PROJECT_URL}
失败用例
$FAILED_TESTS
最近提交(#$SVN_REVISION)
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="- %d [%a] %m
"}
详细提交: ${PROJECT_URL}changes
- 邮件通知页签配置如下(参考步骤3)
图中使用的126邮箱,需要登录到主邮箱修改开放smtp权限
-
不同于上面的配置,此处可以检测你的配置是否正确
5.1勾选通过发送测试邮件测试配置
5.2输入收件人邮箱
5.3 点击测试连接,正常场景会受到一封邮件如下
- 编辑构建流程
-
选中构建后操作
- 滑至底部,点击增加构建后操作步骤
-
选择编辑邮件通知节点
-
配置如下
Default Subject 配置如下:
$自动化测试结果通知 - Build # $BUILD_NUMBER - $BUILD_STATUS!
Default Content配置如下
${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志
本邮件由系统自动发出,无需回复!
各位同事,大家好,以下为${PROJECT_NAME }项目构建信息
构建结果 - ${BUILD_STATUS}
构建信息
- 项目名称 : ${PROJECT_NAME}
- 构建编号 : 第${BUILD_NUMBER}次构建
- 触发原因: ${CAUSE}
- 构建状态: ${BUILD_STATUS}
- 测试报告: ${BUILD_URL}allure
- 构建日志: ${BUILD_URL}console
- 构建 Url : ${BUILD_URL}
- 工作目录 : ${PROJECT_URL}ws
- 项目 Url : ${PROJECT_URL}
失败用例
$FAILED_TESTS
最近提交(#$SVN_REVISION)
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="- %d [%a] %m
"}
详细提交: ${PROJECT_URL}changes
<此处有重复,自行按照说明配置即可>
- 继续点击高级设置
-
删除原配置
-
点击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:
${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志
本邮件由系统自动发出,无需回复!
大家好,以下为${PROJECT_NAME }项目构建信息
构建结果 - ${BUILD_STATUS}
构建信息
- 项目名称 : ${PROJECT_NAME}
- 构建编号 : 第${BUILD_NUMBER}次构建
- 触发原因: ${CAUSE}
- 构建状态: ${BUILD_STATUS}
- 测试报告: ${BUILD_URL}allure
- 构建日志: ${BUILD_URL}console
- 构建 Url : ${BUILD_URL}
- 工作目录 : ${PROJECT_URL}ws
- 项目 Url : ${PROJECT_URL}
失败用例
$FAILED_TESTS
最近提交(#$SVN_REVISION)
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="- %d [%a] %m
"}
详细提交: ${PROJECT_URL}changes
4.邮件模板管理项目
编辑项目,选择邮件模板
选择构建后操作,点击增加构建后操作
选择新建的模板名称后保存
(可选)重置用户名和密码
进入jenkins安装目录,默认为/var/lib/jenkins
备份配置文件
cp config.xml config.xml.bak
删除截图中对应的配置(关键字useSecurity)
重启jenkins
systemctl restart Jenkins
再次访问jenkins地址可直接打开的首页,无需用户名密码
后续可自行新建用户,并赋予用户相应权限即可使用用户名和密码登陆