测试实战持续集成与Jenkins安装和使用
Posted 黑黑白白君
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试实战持续集成与Jenkins安装和使用相关的知识,希望对你有一定的参考价值。
文章目录
1)持续集成(Continuous integration)
互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称CI)。
持续集成指的是,频繁地(一天多次)将代码集成到主干。
- 目的:让产品可以快速迭代,同时还能保持高质量。
- 核心措施:代码集成到主干之前,必须通过自动化测试,只要有一个测试用例失败,就不能集成。
- 好处:
- 快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。
- 防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。
与持续集成相关的,还有两个概念,分别是持续交付和持续部署:
代码从提交到生产的流程:
1、提交(commit):
- 开发者向代码仓库提交代码。
- 所有后面的步骤都始于本地代码的一次提交。
2、测试(第一轮):
- 代码仓库对commit操作配置了钩子(hook),只要提交代码或者合并进主干,就会跑自动化测试。
- 测试分为:
- 单元测试:针对函数或模块的测试(第一轮至少要跑单元测试)
- 集成测试:针对整体产品的某个功能的测试,又称功能测试
- 端对端测试:从用户界面直达数据库的全链路测试
- 通过第一轮测试,代码就可以合并进主干,就算可以交付了。
3、构建(build):
-
交付后,就先进行构建,再进入第二轮测试。
-
所谓构建,指的是将源码转换为可以运行的实际代码,比如安装依赖,配置各种资源(样式表、JS脚本、图片)等等。
-
常用的构建工具:
- Jenkins(开源软件)
- Strider(开源软件)
- Travis(对于开源项目可以免费使用)
- Codeship(对于开源项目可以免费使用)
- 它们都会将构建和测试,在一次运行中执行完成。
4、测试(第二轮):
构建完成,就要进行第二轮测试。
- 如果第一轮已经涵盖了所有测试内容,第二轮可以省略,当然,这时构建步骤也要移到第一轮测试前面。
- 第二轮是全面测试,单元测试和集成测试都会跑,有条件的话,也要做端对端测试。所有测试以自动化为主,少数无法自动化的测试用例,就要人工跑。
- 需要强调的是,新版本的每一个更新点都必须测试到。如果测试的覆盖率不高,进入后面的部署阶段后,很可能会出现严重的问题。
5、部署:
通过了第二轮测试,当前代码就是一个可以直接部署的版本(artifact)。
- 将这个版本的所有文件打包( tar filename.tar * )存档,发到生产服务器。
- 生产服务器将打包文件,解包成本地的一个目录,再将运行路径的符号链接(symlink)指向这个目录,然后重新启动应用。
- 这方面的部署工具有Ansible,Chef,Puppet等。
6、回滚:
一旦当前版本发生问题,就要回滚到上一个版本的构建结果。
- 最简单的做法就是修改一下符号链接,指向上一个版本的目录。
2)Jenkins
2.1 什么是Jenkins?
Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,主要用于持续、自动的构建测试软件项目、监控外部任务的运行。
- Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。
- 通常与版本管理工具(SCM)、构建工具结合使用。
- 常用的版本控制工具有SVN、GIT。
- 构建工具有Maven、Ant、Gradle。
2.2 Jenkins安装
1、下载:
- 官网 ,选择windows下载,会下载一个.msi后缀的文件。
2、安装
- 要使用Jenkins,首先需要保证系统中已经安装了jdk,安装过程中会提示需要的 jdk 版本,此时如果系统中没有,则需要下载对应的jdk。
- jdk安装:
- 我需要JDK 1.8的,在 http://www.5sharing.com/rj/bc/bcgj/1353.html 下载到。
- 安装后需要配置环境变量,参考了:https://www.cnblogs.com/nojacky/p/9497724.html
- 安装成功后会自动打开浏览器跳转到http://localhost:8080/login加载jenkins。
- 初次访问需要解锁jenkins,密码在日志中。
- 然后安装推荐的插件:
- 插件安装失败,解决方法:
- 修改 jenkins数据目录中的hudson.model.UpdateCenter.xml值为:
http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json - 修改updates文件夹中的 default.json文件
替换文件中所有 https://updates.jenkins.io/download 为 http://mirrors.tuna.tsinghua.edu.cn/jenkins
替换文件中http://www.google.com为http://www.baidu.com - 重启jenkins:管理员运行 cmd,打开Jenkins的安装目录:cd C:\\Program Files (x86)\\Jenkins,关闭Jenkins服务:jenkins.exe stop,重启Jenkins服务:jenkins.exe start。
- 修改 jenkins数据目录中的hudson.model.UpdateCenter.xml值为:
- 插件安装失败,解决方法:
2.3 Jenkins配置
后续补充
2.4 Jenkins常用操作
后续补充
【部分内容参考自】
- 持续集成是什么?:http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html
- windows环境中jenkins安装插件失败:https://blog.csdn.net/q13554515812/article/details/109014237
- Windows环境下Jenkins安装与重启:https://www.cnblogs.com/zizhuxuexi/p/11278492.html
- window环境-jenkins使用记录:https://www.yuque.com/u2018609/kg9ggv/gnrvew
以上是关于测试实战持续集成与Jenkins安装和使用的主要内容,如果未能解决你的问题,请参考以下文章
接口测试实战接口自动化之持续集成(postman+newman+jenkins)
Python接口测试实战5(上) - Git及Jenkins持续集成
Python接口测试实战5(上) - Git及Jenkins持续集成