标签:配置,如下,最佳,构建,测试,自动化,Jenkins,工具 From: https://www.cnblogs.com/xieqisheng666/p/16968368.html
1. Jenkins的介绍
Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行,关于 Jenkins的相关材料网上也比较多,大家可以搜索学习了解。本次分享主要介绍下咪咕项目团队借助Jenkins持续集成工具形成了一套行之有效的方法:实现了代码自动编译发布、单元测试自动执行、静态代码质量分析、自动化功能测试等,为某项目敏捷管理提供了基础保障。
2、Jenkins的项目实践
2.1 自动化部署:Jenkins+git+maven
某项目有多个团队组成,每个团队配置1~3名测试人员。基于和互联网大环境接轨的业务需要,选择jenkins+git+maven,可以帮助我们快速应对spring cloud架构下,每个项目下三位数的微服务的持续集成,助力开发环境、测试环境、准生产环境以及生产环境的无缝结合,缩短业务发布的时间,帮助测试人员将更多的时间和精力投入在功能,性能,自动化等等工作中,关于使用Jenkins进行自动化部署的简单配置步骤如下:
1)创建一个自由风格项目,如下图;
2)选择参数化构建过程,添加SERVER_NAME 和 BRANCH_NANE 选项,如下图:
3)增加构建步骤,编写Execute shell脚本,如下图,具体脚本可以参考附件。
4)配置完成结果展示如下:
2.2 代码单元测试覆盖率:Jenkins+JaCoCo+sonarqube通过Jenkins触发单元测试任务执行,并使用JaCoCo插件来统计单元测试用例覆盖率,并生成文件在sonarqube中展示。帮助团队及时掌握代码单元测试与质量情况,简单配置步骤如下,详细可以参考附件。
2.2.1部署:jenkins+JaCoCo
1)、在工程中的pom文件新增 JUNT 和 jacoco插件依赖 ,用JUNT 编写完测试类之后,代码上传到 git 仓库。
2)、在Jenkins页面 , 对工程中的代码进行代码编译并test,使用带这个参数的命令行进行构建。
2.2.2展示:sonarqube
SonarQube是一个用于代码质量管理的开源平台,用于管理源代码质量, 且展示不同工程的覆盖率,详细可参考网络上的安装手册。
选择其中一个工程目录点击,跳转的页面会详细显示该工程中覆盖率信息。
2.3自动化测试:Jenkins+robotframework
某项目迭代周期短,版本多,环境多,人力少,回归测试是测试人员的一项重要工作,项目采用了robotframework自动化测试框架集成到Jenkins进行版本日常回归可以有效提升基础功能验证的正确率,减少每次版本发布在基础功能验证上的时间和人力投入。
2.3.1 robotframework
Robot Framework是一个基于Python的,可扩展的关键字驱动的测试自动化框架,用于端到端验收测试和验收测试驱动开发(ATDD)。它可用于测试分布式异构应用程序,相关架构如下,具体安装与配置可以到网上搜索资料进行参考。
2.3.2 进行Jenkins配置
新建执行任务,配置任务信息。配置信息包括源码管理、触发器、构建步骤、构建步骤后操作信息。
1)源码管理:配置RF自动化脚本下载路径。(注:使用git需提前安装Git client plugin 和 Git plugin插件)
2)构建触发器:设置定时任务执行规则,如下图;
3)构建:配置执行密令和执行脚本路径(注:目录层级尽量避免中文、下划线等),如下图:
4)构建步骤后操作:
Publishes Robot Framework test results配置:设置任务执行报告路径及设置执行结果是否通过阈值范围,如下图
Editable Email Notification配置:设置任务结果通知责任人邮箱及邮件内容,如下图
2.3.3 结果展示
选择待发布的子项目进行构建,待构建完成后,可在jenkins查询测试脚本通过率。详细执行报告以邮件的方式通知相关责任人;
关于Jenkins在项目中的几个场景的使用,步骤及其使用由于篇幅原因没有详细介绍,有需要的可以直接联系作者进行线下交流。