[原创]浅谈我对持续集成的理解
一 什么是持续集成?
首先我们来看下互联网软件开发流程,一般是要经历:需求->设计->开发-测试->发布,由于目前xp和scrum等敏捷方法论兴起,而且由于互联网行业天然属性,要求必须速度,所以任何一家公司想要抢占市场,都需要进行“快速迭代,小步快跑,不断试错和纠正”,综合以上因素持续集成就应然诞生!
持续集成,我简单理解即是,每天不断将开发分支代码合并到主干代码上,通过持续集成流程的进行自动化方式的构建,编译和测试,提供可以部署发布的单元包;
二 持续集成的价值是什么?
1、降低风险,由于持续集成不断去构建,编译和测试,可以很早期发现问题,所以修复的代价就少;
2、对系统健康持续检查,减少发布风险带来的问题;
3、减少重复性工作;
4、持续部署,提供可部署单元包;
5、持续交付可供使用的版本;
6、增强团队信心;
三 持续集成流程介绍
持续集成一般的做法: 通过Svn拉取代码->自动化构建->自动化编译->自动化测试->自动化部署->自动化发布->邮件发送通知;
四 持续集成所需条件介绍:
1、统一代码库管理,如:svn
2、自动化构建(代码拉取->代码检查->代码编译)
3、自动化测试(单测,接口测试/集成测试)
4、自动化部署
5、通知机制
五 持续集成书书籍推荐
持续集成: https://book.douban.com/subject/2580604/