Jenkins持续集成的应用--基础
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持续集成的应用--基础的更多相关文章
- 【转】jenkins持续集成配置
搭建jenkins持续集成服务器 1.jenkins简介 Jenkins,前身为Hudson,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,包括: 持续的软件版本发布/测试项目. 监控 ...
- Jenkins持续集成
Jenkins持续集成 & .NET 最近受累于测试环境每次发布都很麻烦,而且我们有多个测试环境,因此专门抽时间做了Jenkins的配置和研究. 折腾了两天终于绿灯以后,先来个截图,Blu ...
- CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境
持续集成概述及运行流程 : 持续集成概述 :持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中 ,可以频繁的将代码部署集成到主干,并进行自动化测试 开发→代 ...
- Python接口测试实战5(上) - Git及Jenkins持续集成
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- jenkins持续集成工作原理、功能、部署方式等介绍
超详细的jenkins持续集成工作原理.功能.部署方式等介绍 原创 波波说运维 2019-08-29 00:01:00 概述 今天简单整理了一下jenkins的一些概念性内容,归纳如下: 1.概念 j ...
- Jenkins持续集成企业实战
阅读目录: Jenkins持续集成企业实战1.1 目前主流网站部署的流程1.2 Jenkins持续集成简介1.3 Jenkins持续集成组件1.4 Jenkins平台安装部署1.5 Jenkins相关 ...
- 基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2
基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2 Kubernetes实现Master-Slave分布式构建方案 传统Jenkins的Master-Slave方案的缺陷 Mas ...
- python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法?
python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法: 原因:因为jenkins是用windows installer 安装成 windo ...
- jenkins持续集成源码管理选项为None,构建失败找不到git.exe解决办法
我的jenkins版本为Jenkins ver. 2.19.1 1.源码管理选项只有None的解决办法: 在插件管理中心,搜索对应的源码管理插件这里以git为例,搜索git plugin点击右下角的安 ...
随机推荐
- Windows下Python3.7的安装
1.下载Python3官网地址:www.python.org当前最新版本为Python 3.7.3. Windows下有个6个下载链接Windows x86-64 embeddable zip fil ...
- 原生js利用data选择元素
//js var a = document.querySelector('[data-word=a]') console.log(a) html <dl class="find-car ...
- MySQL第三课
首先创建一个数据库: CREATE DATABASE ku; Query OK, 1 row affected 查看一下是否有此数据库: SHOW DATABASES; +-------------- ...
- 渗透测试学习 二十、 其他漏洞汇总之PHP相关漏洞
大纲: PHP相关漏洞 JSP相关漏洞 其他漏洞汇总 PHP相关漏洞 文件包含漏洞 php://input等伪协议利用 代码执行漏洞 变量覆盖漏洞 文件包含漏洞 程序开发人员一般会把重复使用的函数写到 ...
- Html学习之八(CSS选择器的使用--属性选择器)
一.前缀属性选择器 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- pytroch 权重初始化和加载词向量的方法
1.几种不同的初始化方法 import torch.nn as nn embedding = torch.Tensor(3, 5) #如下6种初始化方法 #正态分布 nn.init.normal_(e ...
- Vue 变异方法sort&reverse对评论进行排序
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Paper | Feedback Networks
目录 读后总结 动机 故事 ConvLSTM图像分类网络 损失函数 与Episodic Curriculum Learning的结合 实验方法 发表在2017年CVPR. 读后总结 这篇论文旨在说明: ...
- JS中的undefined,null,"",0,'0'和false
){ console.log(); } '){ console.log() } '){ console.log() } if(false==0.0){ console.log() } if(false ...
- win10 配置python3虚拟环境
1.安装virtualenv pip install virtaulenv 2.创建虚拟环境 env03 virtualenv env03 3.切换到进入虚拟换环境脚本目录(activate) cd ...