[原创]浅谈我对持续集成的理解

[原创]浅谈我对持续集成的理解

一 什么是持续集成?

   首先我们来看下互联网软件开发流程,一般是要经历:需求->设计->开发-测试->发布,由于目前xp和scrum等敏捷方法论兴起,而且由于互联网行业天然属性,要求必须速度,所以任何一家公司想要抢占市场,都需要进行“快速迭代,小步快跑,不断试错和纠正”,综合以上因素持续集成就应然诞生!

   持续集成,我简单理解即是,每天不断将开发分支代码合并到主干代码上,通过持续集成流程的进行自动化方式的构建,编译和测试,提供可以部署发布的单元包;

 

 二 持续集成的价值是什么?

 1、降低风险,由于持续集成不断去构建,编译和测试,可以很早期发现问题,所以修复的代价就少;

 2、对系统健康持续检查,减少发布风险带来的问题;

 3、减少重复性工作;

 4、持续部署,提供可部署单元包;

 5、持续交付可供使用的版本;

 6、增强团队信心;

 

三 持续集成流程介绍

  持续集成一般的做法: 通过git/Svn拉取代码->自动化构建->自动化编译->自动化测试->自动化部署->自动化发布->邮件发送通知;

 

四 持续集成所需条件介绍:

1、统一代码库管理,如:git/svn

2、自动化构建(代码拉取->代码检查->代码编译)

3、自动化测试(单测,接口测试/集成测试)

4、自动化部署

5、通知机制

 

五 持续集成书书籍推荐

持续集成: https://book.douban.com/subject/2580604/

posted @ 2012-09-19 09:38  卖烧烤的鱼  阅读(574)  评论(0编辑  收藏  举报