如何使用Jenkins持续集成构建接口自动化测试--配置邮件通知
在安装之前,我们先了解一下什么叫做”持续集成“?
- "持续" 包括几个核心概念/最佳实践:
1)频繁发布
2)可重复
3)快速迭代
- 持续集成(Continuous Integration)CI 是在源代码变更后自动检测、拉取、构建和(在大多数情况下)进行单元测试的过程。
- 持续集成的目标是快速确保开发人员新提交的变更是好的,并且适合在代码库中进一步使用
- 持续集成的基本思想是让一个自动化过程监测一个或多个源代码仓库是否有变更。当变更被推送到仓库时,它会监测到更改、下载副本、构建并运行任何相关的单元测试。
工厂里的装配线以快速、自动化、可重复的方式从原材料生产出消费品。同样,软件交付管道以快速、自动化和可重复的方式从源代码生成发布版本。如何完成这项工作的总体设计称为“持续交付”(CD)。启动装配线的过程称为“持续集成”(CI)。确保质量的过程称为“持续测试”,将最终产品提供给用户的过程称为“持续部署”。
一、安装Jenkins
1. 到官网:
https://jenkins.io/zh/download/查看 下载文档
使用brew安装Jenkins
# 安装最新版本brew install jenkins# 安装 LTS 版本brew install jenkins-lts
二、安装所需插件
1. 一开始可以根据推荐的进行安装,如果后期有其他的安装或卸载需要,可通过如下步骤进行:
2. 利用过滤器过滤需要安装的插件,勾选后,点击安装即可
3. 由于需要配置邮件通知,所以必须安装—— 邮件扩展插件
三、创建admin用户账号
创建的时候配置好管理员邮箱,因为后面这个邮箱后面用于发送邮件的
四、执行邮件通知相关配置
1. 设置Jenkins地址和管理员邮箱地址
2. 配置发件人邮箱基本信息--邮件服务器地址、默认用户邮箱后缀、默认邮件内容类型以及默认接收人邮箱(此处使用的发送邮箱是QQ邮箱)
3. 点击”高级“,进一步配置
4. 配置QQ 邮箱开启相关服务
如果报告的发件人邮箱设置为qq邮箱,需要对qq邮箱进行服务设置,如下:设置-->开启POP3/IMAP 服务
5. 开启之后把获得的授权码 复制粘贴到第3点的密码框:
6. 设置邮件默认主题格式和默认内容
# Default Subject
【构建通知】$PROJECT_NAME - 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}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>
7. 点击 ”apply“——”save”
五、创建任务
1. 定义任务名称——建议与接口测试任务名称一致
2. 选择自由风格——Freestyle project
3. 构建设置(如果是mac电脑,Build选择 Execute Shell
命令框里输入 执行py文件的shell命令
4. 配置完后,选择开始 构建
5. 第一次构建的时候会失败,但是没有关系,只有构建之后,我们创建的项目才会保存到workspace文件夹中,如下:
Users/mecell/.jenkins/workspace/FinanceAPITest
6. 接着把项目根目录下的所有文件和代码拷贝到上述目录中:
7. 配置测试报告存放文件夹
进入项目里面,选择Configure
配置构建后操作(Add post-build Action)——Publish HTML reports
选择add,进入如下页面,填写后,点击保存,index pages配置的目录要与项目中的html报告所在目录保持一致
构建成功后,测试报告就会存放在项目页面的一个HTML Report文件夹内:
8. 配置测试报告通过邮件通知发送
进入项目里面,配置构建后操作(Add post-build Action)
只需要修改Attachments 的内容 ,其他配置保持默认
接着配置一个触发器,点击上图的 Advanced Settings:
把原来失败才发送的触发器删除,重新新建一个:
添加一个Always的触发器,表示总是发送(由于没有配置用户列表,所以把develpers删除,仅留下配置的 收件人列表recipient list),最后保存
构建成功如下:球变为蓝色
# 定时构建
解决:生成的HTML报告,无法导入js,css文件问题,打开没有格式
在“系统管理”-“脚本命名行”输入如下命令并执行:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
相关文章
- Jenkins 中 shell 脚本执行失败却不自行退出
- Jenkins怎么发邮件,高级测试手把手教你...
- 自动化集成:Jenkins管理工具详解
- Jenkins持续集成项目搭建与实践—基于Python Selenium自动化测试
- postman+newman+jenkins持续集成
- Jenkins结合gitlab自动化持续集成
- 手把手搭建jenkins + docker + k8s 持续集成、自动化发布环境
- docker 任意端口启动jenkins (CentOs7 Docker 17.03.1-ce)
- Jenkins卡在初始界面
- jenkins学习笔记第十七篇 -Jenkins·将一个 Github 项目打包后上传到远程服务器
- 修改Jenkins用户的密码
- K8S构建Jenkins持续集成平台
- 【持续集成和交付】项目环境配置:在Jenkins中运行项目
- 05-jenkins与SonarQube代码审查集成
- 03-jenkins集成环境配置
- jenkins发版脚本更新
- Jenkins持续集成实战之解决windows搭建jenkins执行selenium无法启动浏览器
- Jenkins持续集成实战之Jenkins构建Python项目提示:'python' 不是内部或外部命令,也不是可运行的程序。
- Docker常用镜像的构建脚本及jenkins手动触发镜像构建
- jenkins与jira集成
- 这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script
- 【转载】Jenkins + Git + Maven + tomcat集成环境搭建
- jenkins中job之间如何依赖执行
- jenkins:构建机器为windows,部署机器为linux
- RobotFramework与Jenkins集成后失败用例重跑
- jenkins+findbugs
- Jenkins+Docker+Harbor+SpringCloud微服务持续集成自动化部署(上)
- Linux原生手动安装Jenkins,或docker安装Jenkins详细过程
- Linux安装jdk11并启动jenkins