集成软件的过程不是新问题,如果项目开发的规模比较小,比如一个人的项目,如果它对外部系统的依赖很小,那么软件集成不是问题,但是随着软件项目复杂度的增加(即使增加一个人),就会对集成和确保软件组件能够在一起工作提出了更多的要求-要早集成,常集成。早集成,频繁的集成帮助项目在早期发现项目风险和质量问题,如果到后期才发现这些问题,解决问题代价很大,很有可能导致项目延期或者项目失败。
大师Martin Fowler对持续集成是这样定义的:
持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
一些原则:
1.
所有的开发人员需要在本地机器上做本地构建,然后再提交的版本控制库中,从而确保他们的变更不会导致持续集成失败。
2. 开发人员每天至少向版本控制库中提交一次代码。
3. 开发人员每天至少需要从版本控制库中更新一次代码到本地机器。
4. 需要有专门的集成服务器来执行集成构建,每天要执行多次构建。
5. 每次构建都要100%通过。
6. 每次构建都可以生成可发布的产品。
7. 修复失败的构建是优先级最高的事情。
|
相关推荐
持续集成持续集成持续集成持续集成持续集成持续集成持续集成
持续集成持续集成持续集成持续集成持续集成持续集成
持续集成php hudson 做增量发布 Selenium_IDE
智能运维:浅谈持续集成( CI)、持续交付(CD) 和软件测试.pdf智能运维:浅谈持续集成( CI)、持续交付(CD) 和软件测试.pdf智能运维:浅谈持续集成( CI)、持续交付(CD) 和软件测试.pdf智能运维:浅谈持续集成( CI)、...
企业IT持续集成与持续交付实践.pdf
什么是持续集成(CI)持续部署(CD)?
持续集成工具 cruisecontrol 配置文件
CI持续集成CI持续集成 很难学哦
如何使用Jenkins持续集成?难道用例写完还需要人肉操作?
“持续集成”起源于极限编程开发.是它的12个基本原则之一,”持续集成”是一种软件开发实践.它要求开发小组的每个成员频繁的集成他们的工作成果.这个频度通常是至少每天一次有时甚至每天多次开发团队的成员频繁的...
持续集成从“配置管理”、“构建”、“测试”、“部署及发布”及“团队习惯”5个纬度考察其成熟度,每个维度都有5个级别,分别是“入门”、“新手”、“中等”、“进阶”和“疯狂”。目前在各个维度上,行业的平均...
持续集成与自动化测试持续集成与自动化测试持续集成与自动化测试持续集成与自动化测试持续集成与自动化测试持续集成与自动化测试持续集成与自动化测试持续集成与自动化测试持续集成与自动化测试持续集成与自动化测试
主题:持续集成及CruiseControl技术交流 在提升软件质量、降低研发风险、拒绝浪费方面,处于敏捷实践领域的持续集成(Continuous Integration,CI)起到重要作用。持续集成能够解决研发工作中的80%任务(日常),...
使用 Hudson 持续集成 ppt
初创公司如何做好持续集成和部署,对不同服务的管理。
阿里云,阿里云持续集成,介绍了阿里云持续集成相关的经验
持续集成文档,介绍了利用Maven等工具搭建持续集成测试环境。
Jenkins持续集成从入门到精通.pdf
这是应用于iOS打包发布及代码检查持续集成功能介绍,里面有详细的代码指令
该ppt详细介绍了持续集成工具jenkins的介绍以及安装步骤