1.测试工程师为什么要掌握持续集成

一个程序员如果想发布一个产品,他需要编码、编译、测试,发布的过程对于一个企业来说,如果也想发布一个产品的话,同样的也是需要上述的过程,区别在于企业要发布的产品的需求会很多,如果有一个程序员来完成整个的过程的话,需要花费大量的时间,导致产品的研发周期过长,错过市场良机。为了避免这样的问题出现,企业一般会招聘多个程序员来协同编码,最后再将所有的代码进行集成,而在集成时往往会发现很多bug,这些问题是在研发编码的时候就已经存在了,如果在集成时才发现问题的话,会导致开发者在集成阶段花费大量的时间寻找bug的原因,加上软件的复杂想,bug的根源很难定位,甚至会出现不得不调整底层架构的情况,那么在这样的情境下,持续集成的概念产生了,下面就介绍持续集成可以帮助我们来完成哪些事情,持续集成如何来应用?

2.持续集成的概念、流程和意义

 

持续集成的流程;1.开发将代码提交到主版本,测试工程师的任务是要验证代码合并之后的正确性;2.把代码拉去到本地;3.创建测试环境:编译(成为可执行程序)、打包、配置;4.测试:往往会选择一些比较核心的功能;

3.持续集成工具jenkins

关于Git、Jenkins的安装和配置,这里只做简单的描述,更详细的安装和配置的方法可以参考这几个链接:

4.jenkins工具的配置说明

说明:1.Github代码库:Jenkins拉取代码的来源;2.Git:向Github发出拉取代码的命令;3.Gradle:把拉取到本地的代码进行编译;4.Android:Gradle把代码编译完成之后会形成一个可执行文件(apk),此时就需要Android的环境来操作apk(比如通过adb命令向手机中安装apk)。

系统级的配置和JOB级配置的区别:系统级的配置是针对所有的JOB生效的,JOB级配置只针对自己本身才生效。

5.jenkins工具系统配置和Job配置

5.1,系统配置

方法:

1.如图1:常用的需要配置的选项;

2.如图2:配置Gradle;

3.如图3、4:jenkins上为了让有权限能访问Github需要做的配置;

4.如图5、6、7:在Github中获取口令;

5.点击图3中棕色框"Add",弹出图8,按图8所示完成操作。

6.同样的,如图10所示,也可以验证是否配置成功。

5.2,Job配置

如图11,新建一个任务,一般选择“创建一个自由风格的软件项目”;

如图12:JOB配置界面。下文会通过具体的项目展示如何配置;

6.jenkins手动持续集成实战

实例:如图13所示,使用Jenkins完成自动拉取代码、编译、打包、把包安装到模拟器、执行monkey测试。


步骤:1.如图14,在Github中复制源码的连接;

2.如图15,配置刚刚已经建立好的JOB,配置Git,粘贴图14中复制的连接到红色框中,点击“Add”;

3.如图16、17,添加github的账号和密码;

4.配置Gradle,如图18、19配置可以生成apk包;

5.图20、21,设置包保存的路径。

6.由于目前还没有执行过构建过程,所以还不清楚包保存的路径,需要构建一次,然后找到包保存的路径。

方法:6.1.在图19的基础上保存设置后来到图22的界面;6.2.图22中点击“立即构建”,从代码库拉取代码、编译,生成apk包;6.3.如图23,项目正在构建;

 

6.4.图23上点击,来到图24;

6.5.图24上点击,来到图25,可以看到构建过程中的命令执行情况(为了确保在Jenkins上Gradle成功,需要先手动Gradle成功);

6.6.如图26-1,构建已完成,可以通过图26-2中“Building in workspace”中找到包保存的路径的前半部分;

6.7.如图27,在命令行中找到包保存路径;

 

6.8.如图28,把路径复制到当前的Job设置中;

7.配置monkey,如图29、30,增加monkey构建,;

8.此时点击“立即构建”,如图31,就完成了整个的编译、打包、安装、执行monkey测试的过程;

7.jenkins自动化持续集成实战

在实际的工作过程中,我们不希望每次的构建都是通过手动来完成,希望构建是自动来完成的,那么如何让构建过程自动的进行呢?需要进行一定的配置。方法:

1.点击工程JOB中的“配置”;

2.如图33,“构建触发器”中勾选“Build periodically”,在“日程表”中填写“构建周期”;

3.点击左侧“?”,可以查看构建规则,如图34;

4.如图35,日程表中设置“每2分钟构建一次”,点击“Apply”、保存,返回到工程界面;

5.如图36,返回到工程界面后,自动构建已经开始了;

Jenkins持续集成的应用--基础的更多相关文章

  1. 【转】jenkins持续集成配置

    搭建jenkins持续集成服务器 1.jenkins简介 Jenkins,前身为Hudson,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,包括: 持续的软件版本发布/测试项目. 监控 ...

  2. Jenkins持续集成

    Jenkins持续集成 & .NET   最近受累于测试环境每次发布都很麻烦,而且我们有多个测试环境,因此专门抽时间做了Jenkins的配置和研究. 折腾了两天终于绿灯以后,先来个截图,Blu ...

  3. CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境

    持续集成概述及运行流程 : 持续集成概述 :持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中 ,可以频繁的将代码部署集成到主干,并进行自动化测试  开发→代 ...

  4. Python接口测试实战5(上) - Git及Jenkins持续集成

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  5. jenkins持续集成工作原理、功能、部署方式等介绍

    超详细的jenkins持续集成工作原理.功能.部署方式等介绍 原创 波波说运维 2019-08-29 00:01:00 概述 今天简单整理了一下jenkins的一些概念性内容,归纳如下: 1.概念 j ...

  6. Jenkins持续集成企业实战

    阅读目录: Jenkins持续集成企业实战1.1 目前主流网站部署的流程1.2 Jenkins持续集成简介1.3 Jenkins持续集成组件1.4 Jenkins平台安装部署1.5 Jenkins相关 ...

  7. 基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2

    基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2 Kubernetes实现Master-Slave分布式构建方案 传统Jenkins的Master-Slave方案的缺陷 Mas ...

  8. python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法?

    python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法: 原因:因为jenkins是用windows installer 安装成 windo ...

  9. jenkins持续集成源码管理选项为None,构建失败找不到git.exe解决办法

    我的jenkins版本为Jenkins ver. 2.19.1 1.源码管理选项只有None的解决办法: 在插件管理中心,搜索对应的源码管理插件这里以git为例,搜索git plugin点击右下角的安 ...

随机推荐

  1. Windows下Python3.7的安装

    1.下载Python3官网地址:www.python.org当前最新版本为Python 3.7.3. Windows下有个6个下载链接Windows x86-64 embeddable zip fil ...

  2. 原生js利用data选择元素

    //js var a = document.querySelector('[data-word=a]') console.log(a) html <dl class="find-car ...

  3. MySQL第三课

    首先创建一个数据库: CREATE DATABASE ku; Query OK, 1 row affected 查看一下是否有此数据库: SHOW DATABASES; +-------------- ...

  4. 渗透测试学习 二十、 其他漏洞汇总之PHP相关漏洞

    大纲: PHP相关漏洞 JSP相关漏洞 其他漏洞汇总 PHP相关漏洞 文件包含漏洞 php://input等伪协议利用 代码执行漏洞 变量覆盖漏洞 文件包含漏洞 程序开发人员一般会把重复使用的函数写到 ...

  5. Html学习之八(CSS选择器的使用--属性选择器)

    一.前缀属性选择器 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  6. pytroch 权重初始化和加载词向量的方法

    1.几种不同的初始化方法 import torch.nn as nn embedding = torch.Tensor(3, 5) #如下6种初始化方法 #正态分布 nn.init.normal_(e ...

  7. Vue 变异方法sort&reverse对评论进行排序

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Paper | Feedback Networks

    目录 读后总结 动机 故事 ConvLSTM图像分类网络 损失函数 与Episodic Curriculum Learning的结合 实验方法 发表在2017年CVPR. 读后总结 这篇论文旨在说明: ...

  9. JS中的undefined,null,"",0,'0'和false

    ){ console.log(); } '){ console.log() } '){ console.log() } if(false==0.0){ console.log() } if(false ...

  10. win10 配置python3虚拟环境

    1.安装virtualenv pip install virtaulenv 2.创建虚拟环境 env03 virtualenv env03 3.切换到进入虚拟换环境脚本目录(activate) cd ...