XP的一个最佳实践(看看gigix翻的Martin Fowler的文章)
关键:完全的自动化,读取源代码、编译、连接、测试,整个过程都应该自动完成。
与每日构建的区别 (每日构建(daily build)是你的朋友)
-
持续集成强调集成频率。目前的最佳时间是每小时就集成一次,每日构建顾名思义;
-
持续集成强调及时反馈。每日构建目的是为了等到稳定的发布版本,而持续集成主要目的是为了集成失败后及时向开发人员反馈,当然,集成成功之后便是稳定的发布版本;
-
持续集成鼓励开发人员尽快提交(check in)代码并反馈,每日构建不含次内容;
思考:可以说持续集成是每日创建的升级版,但是对大部分团队(至少我们是这样)每日集成一次已经足够。当然,能以每小时为集成单位的团队战斗力是相当惊人的。
传统方式将项目分成若干个模块,开发完成之后进行集成。导致了项目早期存在的BUG在集成测试之后才被发现,由于集成阶段的复杂程度相对较大,排查和解决这些问题需要耗费大量人力,甚至出现无法解决的硬伤。于是,频繁的臭虫会议(bug meetings)成为相互推诿、扯蛋的无聊会议。持续集成通过频繁构建来尽量的发现集成测试之前的BUG,并反馈。
思考:持续集成以测试技术为基础,能否检测出BUG取决于是否有足够的单元测试用例。如果没有良好的测试技术,持续集成和每日构建无异。另,我认为持续集成还能发现单元测试的不充分之处,发现关联模块引用的测试不充分。这样就能一定程度上解决修复了一个BUG之后带来了一个新的BUG。即在集成阶段还保持对单元的有效测试。
问题:界面的单元测试?最终还是需要集成、回归测试来实现。持续集成对于集成阶段的好处?
目前我们的做法仅仅是有个配置管理员来进行构建,频率也不高,仅在每次版本发布前进行。
大家是如何做持续集成的,过程中有没有碰到什么难点。有什么好的经验吗?
分享到:
相关推荐
思科网络构建的基础图片,apk格式的,很基础,希望帮助你们
《高性能Linux服务器构建实战》实例代码分享 压缩包,你们懂的
本次课程强调了课前准备的重要性,有效的课堂提问与讨论策略,小组合作模式的构建,以及课堂评价与多媒体技术的运用。通过这些策略的实施,教学活动得以更加丰富多彩,同时也为学生创设了良好的学习环境,帮助他们在...
描述中提到“想要学习NE的可以看看,对你们是有很大的好处,NE虽然是最基础的”。这部分信息表明,本教材适宜那些想要入门网络工程的读者,并且强调即便是基础知识,对于中小型企业构建网络也是至关重要的。这是因为...
"javaA你们会用到的"这个压缩包文件显然包含了对Java开发者非常实用的资源,特别是Java Standard Edition (Java SE) 和 Java Enterprise Edition (Java EE) 的API文档。 Java SE API是Java开发的基础,它提供了一...
本文以《我想你们》这一教案设计为例,深入探讨其教学目标、教学内容以及教学方法,并试图展现一个全面、系统、富有成效的教学活动是如何构建的。 教学目标的设定是任何教案设计的首要环节,它为整个教学活动提供了...
如果你们使用Flink也是和我们之前一样,不知道如何使用我们的Flink实时计算平台,或者不知道该怎样合理利用其Features去更好构建我们的工程,再或者你想了解每天处理超过12亿条实时数据,数据实时性达到秒级,QPS可...
先是在exclipse安装了sdk并修改了host文件网络配置的童鞋,很有可能在重重安装之后,好不容易打开发现gradle构建不成功,提示网络链接问题。这时候,回去把你们的网络配置还原应该就好啦
【标题】"稳定Gh0st(免杀源码你们懂的)" 指的是一种经过优化和改进的Gh0st远程控制木马程序,它的设计目标是提高在目标系统上的隐蔽性和持久性,同时也尝试绕过安全软件的检测,即所谓的“免杀”特性。Gh0st是一种...
BokeCMS是一个基于.NET平台的内容管理系统(CMS),用于构建网站并管理其内容。"SQL+NET精品"描述可能指的是该系统充分利用了SQL数据库管理和.NET框架的技术特性,为开发者提供了高效且灵活的工具来处理数据和实现...
这种形象的构建是作文中的第一个知识点,它反映了作者的自我认识和表达方式。 宽容与理解是李哲林个性中的第二个亮点。她通过讲述弟弟弄脏了她的作业本,展示了自己面对错误时的宽容态度。面对弟弟的无心之失,她...
当我在2018年开始这个项目时,我没有任何想法,这对你们中的很多人都会有用。 Qt公司于2020年12月8日发布了Qt 6.0.0。代码库中进行了许多更改,主要是Qt决定最终qmake作为构建系统。 由于这是一个重大更改,因此我...
"你们想要的java jar包全都有"这个标题暗示了这是一个包含各种Java库和框架的集合,可能涵盖了开发Java应用时所需的多种依赖。 描述中的重复表达进一步强调了这个压缩包提供了开发者在项目中可能需要的各种Java依赖...
这是第一届全国中文知识图谱研讨会演讲PPT,在清华大学举行,主要内容包括: 阿里巴巴一淘及搜索事业部——陈维 NLP Techniques in Knowledge ...这方面关于知识图谱的资料比较少,希望对你们有所帮助~ By:Eastmount
人生的价值观是在成长中塑造的,感恩、宽容、爱心和自强不息是构建个人价值观的重要元素。我希望你们能够不断涵养这些品质,成为一个对社会有贡献的人。 四明中学的文化和精神是独特的,它将伴随着你们走向社会。...
- **案例**:文中提到的陈培华等矿嫂,不仅在家务上给予丈夫最大的支持,还在矿工们的工作环境中发挥重要作用,如参与安全宣传、井口服务等,从而构建了一个更加安全的工作环境。 #### 知识点四:情感支持 - **定义...
【标题】:“自己看,和你们没有关系” 【描述】:“自己的东西,就是一个过渡” 尽管标题和描述似乎并不直接提供具体的技术信息,但我们可以从标签“其他”中推测这是一个涵盖广泛IT主题的压缩包,可能包含了一些...
高中三年,你们建立了深厚的友谊,但人际关系的构建远不止于此。在未来,你会遇到更多的人,学会尊重他人,倾听他人的观点,这将有助于你们建立广泛的社交网络,为个人发展铺路。同时,不要忽视与家人的情感联系,...
这些经历构建了你们完整的个性,我希望你们能够回顾这些美好的记忆,感受自己的成长,体会全面教育带给你们的不仅仅是书本上的知识,更是生活中的智慧和情感的丰富。 接着,让我们共同珍惜青春时光。正如岳飞所言:...