Jenkins持续集成-安卓app
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所示完成操作。
5.1 同样的,如图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,返回到工程界面后,自动构建已经开始了;