通过实例介绍持续集成的应用
尊重博客园原创精神,请勿转载!1.测试工程师为什么要掌握持续集成
一个程序员如果想发布一个产品,他需要编码、编译、测试,发布的过程。对于一个企业来说,如果也想发布一个产品的话,同样的也是需要上述的过程,区别在于企业要发布的产品的需求会很多,如果有一个程序员来完成整个的过程的话,需要花费大量的时间,导致产品的研发周期过长,错过市场良机。为了避免这样的问题出现,企业一般会招聘多个程序员来协同编码,最后再将所有的代码进行集成,而在集成时往往会发现很多bug,这些问题是在研发编码的时候就已经存在了,如果在集成时才发现问题的话,会导致开发者在集成阶段花费大量的时间寻找bug的原因,加上软件的复杂想,bug的根源很难定位,甚至会出现不得不调整底层架构的情况,那么在这样的情境下,持续集成的概念产生了,下面就介绍持续集成可以帮助我们来完成哪些事情,持续集成如何来应用?
2.持续集成的概念、流程和意义
https://images2015.cnblogs.com/blog/907091/201707/907091-20170716180113269-1297448381.pnghttps://images2015.cnblogs.com/blog/907091/201707/907091-20170716180556972-1386746909.png
持续集成的流程;1.开发将代码提交到主版本,测试工程师的任务是要验证代码合并之后的正确性;2.把代码拉去到本地;3.创建测试环境:编译(成为可执行程序)、打包、配置;4.测试:往往会选择一些比较核心的功能;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170716181351488-1515539912.png
3.持续集成工具jenkins
https://images2015.cnblogs.com/blog/907091/201707/907091-20170717220854443-259840131.png
关于Git、Jenkins的安装和配置,这里只做简单的描述,更详细的安装和配置的方法可以参考这几个链接:
4.jenkins工具的配置说明
https://images2015.cnblogs.com/blog/907091/201707/907091-20170717221919927-1858172891.png
说明: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:常用的需要配置的选项;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170717223554036-11015693.png
2.如图2:配置Gradle;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170717224233005-1501362324.png
3.如图3、4:jenkins上为了让有权限能访问Github需要做的配置;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170717224504786-2022923394.png
https://images2015.cnblogs.com/blog/907091/201707/907091-20170717225049786-684729646.png
4.如图5、6、7:在Github中获取口令;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170717225524802-379786068.png
https://images2015.cnblogs.com/blog/907091/201707/907091-20170717225559693-90495844.png
https://images2015.cnblogs.com/blog/907091/201707/907091-20170717230051849-1418310655.png
5.点击图3中棕色框"Add",弹出图8,按图8所示完成操作。
https://images2015.cnblogs.com/blog/907091/201707/907091-20170717230703068-457323020.png
6.同样的,如图10所示,也可以验证是否配置成功。
https://images2015.cnblogs.com/blog/907091/201707/907091-20170717230946115-2006121408.png
5.2,Job配置
如图11,新建一个任务,一般选择“创建一个自由风格的软件项目”;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170718191451349-1075778840.png
如图12:JOB配置界面。下文会通过具体的项目展示如何配置;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170718192345818-1843802354.png
6.jenkins手动持续集成实战
实例:如图13所示,使用Jenkins完成自动拉取代码、编译、打包、把包安装到模拟器、执行monkey测试。
https://images2015.cnblogs.com/blog/907091/201707/907091-20170718224330693-1069345323.png
步骤:1.如图14,在Github中复制源码的连接;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170718224638990-664255927.png
2.如图15,配置刚刚已经建立好的JOB,配置Git,粘贴图14中复制的连接到红色框中,点击“Add”;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170718225130365-382464531.png
3.如图16、17,添加github的账号和密码;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170718225645599-1953705009.png
https://images2015.cnblogs.com/blog/907091/201707/907091-20170718230039802-1207852397.png
4.配置Gradle,如图18、19配置可以生成apk包;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170718230332880-2025691012.pnghttps://images2015.cnblogs.com/blog/907091/201707/907091-20170718231120286-586290185.png
5.图20、21,设置包保存的路径。
https://images2015.cnblogs.com/blog/907091/201707/907091-20170718231257755-1497460578.pnghttps://images2015.cnblogs.com/blog/907091/201707/907091-20170718232530786-430613319.png
6.由于目前还没有执行过构建过程,所以还不清楚包保存的路径,需要构建一次,然后找到包保存的路径。
方法:6.1.在图19的基础上保存设置后来到图22的界面;6.2.图22中点击“立即构建”,从代码库拉取代码、编译,生成apk包;6.3.如图23,项目正在构建;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720104002833-1570015659.png https://images2015.cnblogs.com/blog/907091/201707/907091-20170720104841536-1107953710.png
6.4.图23上点击,来到图24;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720110020646-1449884017.png
6.5.图24上点击,来到图25,可以看到构建过程中的命令执行情况(为了确保在Jenkins上Gradle成功,需要先手动Gradle成功);
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720110526240-918772463.png
6.6.如图26-1,构建已完成,可以通过图26-2中“Building in workspace”中找到包保存的路径的前半部分;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720112922302-702753946.png
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720112945911-824511951.png
6.7.如图27,在命令行中找到包保存路径;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720113354771-1131620590.png https://images2015.cnblogs.com/blog/907091/201707/907091-20170720114122177-972415894.png
6.8.如图28,把路径复制到当前的Job设置中;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720114240161-322829179.png
7.配置monkey,如图29、30,增加monkey构建,;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720140214443-552717697.png
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720141034115-1491192964.png
8.此时点击“立即构建”,如图31,就完成了整个的编译、打包、安装、执行monkey测试的过程;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720141725865-578923874.png
7.jenkins自动化持续集成实战
在实际的工作过程中,我们不希望每次的构建都是通过手动来完成,希望构建是自动来完成的,那么如何让构建过程自动的进行呢?需要进行一定的配置。方法:
1.点击工程JOB中的“配置”;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720143033286-1212392355.png
2.如图33,“构建触发器”中勾选“Build periodically”,在“日程表”中填写“构建周期”;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720144322521-1248316979.png
3.点击左侧“?”,可以查看构建规则,如图34;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720155459974-929127175.png
4.如图35,日程表中设置“每2分钟构建一次”,点击“Apply”、保存,返回到工程界面;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720155811880-41929541.png
5.如图36,返回到工程界面后,自动构建已经开始了;
https://images2015.cnblogs.com/blog/907091/201707/907091-20170720160501693-1851655823.png
以上,通过实例简单梳理了Jenkins持续集成的流程,希望对初接触持续集成的朋友有所帮助。
尊重博客园原创精神,请勿转载!
页:
[1]