`
xp9802
  • 浏览: 1182720 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于持续集成几点知识点

阅读更多
持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
 
一些原则:
1. 所有的开发人员需要在本地机器上做本地构建,然后再提交的版本控制库中,从而确保他们的变更不会导致持续集成失败。
2. 开发人员每天至少向版本控制库中提交一次代码。
3. 开发人员每天至少需要从版本控制库中更新一次代码到本地机器。
4. 需要有专门的集成服务器来执行集成构建,每天要执行多次构建。
5. 每次构建都要100%通过。
6. 每次构建都可以生成可发布的产品。
7. 修复失败的构建是优先级最高的事情。

持续集成周期包括以下几个步骤:
1.持续集成服务器不断从版本控制服务器上检查代码状态,看代码是否有更新。
2.如果发现代码有最新的提交,那么就从版本控制服务器下载最新的代码。
3.等代码完全更新以后,调用自动化编译脚本,进行代码编译。
4.运行所有的自动化测试。
5.进行代码分析。
6.产生可执行的软件,能够提供给测试人员进行测试。

如果其中任何一个步骤失败,就表示该Build失败,持续集成服务器会给予相应的反馈。一般来说,持续集成服务器会有相应的管理界面,可以看到Build的状态以及相应的信息,如果Build失败,可以查看原因,是编译失败还是测试失败。或者在每次Build后,持续集成服务器发邮件通知,从邮件中可以看到最新Build的状态。当然,也可以自定义反馈方法,比如在ThoughtWorks中国,有个团队的持续集成反馈就是火山灯,黄色表示正在进行Build,绿色表示Build成功,而红色则表示Build失败,一旦发现灯变红了,所有人都不能提交代码,而应该尽快修复该Build。还有一个团队更有创意,用语音来进行反馈。如果Build成功,就会有语言提示说“Build XXXX成功”,如果失败,就会有提示“Build XXXX失败,是由XXX提交的”,被念到名字的成员就得停下来修复这个Build。
  持续集成实践的目的不是减少Build失败的次数,而是尽早发现问题,在最短的时间内解决问题,减少风险和浪费。如果想尝试持续集成,首先需要的是持续集成服务器,比如CruiseControl或者VSTS;然后需要把现有的Build自动化,比如写Ant脚本;最后就是在持续集成服务器上进行配置,比如配置版本控制,集成间隔时间,如何部署,如何反馈等。
分享到:
评论

相关推荐

    Jenkins+Jmeter+Ant持续集成那些事

    通过了解性能测试,知道了jmeter框架以及其扩展知识,jmeter不仅是性能测试利器而且还可以用于接口测试,经过近几周的学习,了解了jmeter的相关知识。但是在使用过程中还是遇到了问题,就是脚本较多时一一执行比较...

    爬虫开发技巧总结和入门教程知识点总结.docx

    爬虫工程化:将爬虫开发作为一个工程来管理,包括但不限于版本控制、持续集成/持续部署(CI/CD)、容器化部署(如Docker)等。 大数据处理与存储:当爬取数据量巨大时,需要了解如何利用Hadoop、Spark等大数据处理...

    针式PinPKM-V201506(免费无使用限制)

    3、更方便对 知识 进行深入搜索研究:知识点画面集成搜索框 版本9.08版[8]更新时间:2012-01-11 主要增加和完善的功能有: 1、支持华为网盘同步和备份 2、增加知识结构分析,有助于对知识是否系统化并有所侧重进行...

    PinPKM-V201525(官网发布的最后一个免费无使用限制版本)

    3、更方便对 知识 进行深入搜索研究:知识点画面集成搜索框 版本9.08版[8]更新时间:2012-01-11 主要增加和完善的功能有: 1、支持华为网盘同步和备份 2、增加知识结构分析,有助于对知识是否系统化并有所侧重进行...

    asp.net知识库

    在.NET访问MySql数据库时的几点经验! 自动代码生成器 关于能自定义格式的、支持多语言的、支持多数据库的代码生成器的想法 发布Oracle存储过程包c#代码生成工具(CodeRobot) New Folder XCodeFactory3.0完全攻略--...

    浅谈项目管理、过程改进及工作计划

    项目管理:以实际生活案例(婚礼)为切入点,浅谈项目管理过程,包括五大过程组(启动、规划、执行、监控、收尾),及十大知识领域中的合同管理、变更管理、风险管理及成本管理等方面; 项目管理体系介绍:针对PMP...

    计算机专业调研报告(1).doc

    为了进一步加深对计算机专业的认识,加强对计算机专业教学的指导,从而策划出我们 当前及未来几年计算机专业教学的发展设想、专业规模和相关建设,最近采用走访用人 单位、问询调查了在外实习的学生、资料收集与...

    计算机专业调研报告.doc

    为了进一步加深对计算机专业的认识,加强对计算机专业教学的指导,从而策划出我们 当前及未来几年计算机专业教学的发展设想、专业规模和相关建设,最近采用走访用人 单位、问询调查了在外实习的学生、资料收集与...

    年度报告与经济报告之间的关系:对石油公司的实证分析-研究论文

    关于这一点,在过去几年中,越来越多的关于特定主题的报告被公开:在这种可持续性中,环境和社会报告(SES)发挥了非常重要的作用(Mazzoleni,2004; Brammer et al。,2006)。 同时,通过引入有关社会,环境和可...

    ERP学习必看课件,详细的讲解了ERP的内容

    上面谈到几点ERP实施难度的几点因素,如不加以妥善解决,就会加大实施ERP实施的投资风险。 四、实施ERP要对症下药 ERP实施成功的标志是系统运行集成化、业务流程合理化、绩效监控动态化、管理改善持续化。成功...

    软件项目管理师大全(大纲+论文格式+经典案例)

    成功的软件项目需要几点要求 26 对软件项目管理的探讨 27 给项目管理一双慧眼 33 工程项目管理的新挑战—可持续发展 37 管理的三化与六法 40 管理项目失败的教训 41 论项目管理中的量化管理 43 浅谈如何实行有效的...

    基于遗传的研究框架,使用关联规则挖掘发现最佳的频繁模式-研究论文

    最初,OFPS的第一个重点是在知识专家的指导下准备领域特定的数据,包括数据选择,清理,集成和转换。 随后,OFPS的第二版重点在于构建频繁模式树(FP-Tree),然后通过以自下而上的方式探索树来发现频繁模式,以...

    C#全能速查宝典

    《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#...,每一个知识点都配有具体的示例...

Global site tag (gtag.js) - Google Analytics