1.定义
持续集成是一种软件开发实践,即团队的开发人员经常集成他们的工作,一般地,研发人员每天至少集成一次,也就意味着每天可能发生多次集成。每次集成都通过自动化的构建(包括编译、发布、自动化集成)来验证,从而尽早的发现集成错误。
2.价值
(1)减少风险
一天中进行多次集成,并做相应的测试,这样有利于检查缺陷,了解软件的健康状况。
(2)减少重复过程
重复的过程包括代码编译,数据库集成,测试,审查,部署及反馈。通过自动化的集成可以将这些重复的动作都变成自动化的,无需太多人工干预。
(3)任何时间、任何地点生成可布署的软件
这是持续集成最大的好处,当我们对代码进行更改之后,并将这些改动和其他代码进行集成。如果有了错误,项目成员会被通知到,问题会第一时间被修复。如果不采用集成的情况下,这些问题可能到交付前的集成测试的时候才会被发现,有可能导致产品的延迟发布等情况。
(4)增加项目的可见性
持续集成让我们能够注意到趋势并进行有效的决策。如果没有真实数据支持,项目可能会遇到问题,每个人都会提出他们认为的最好的猜测。
3.要素
1.统一的代码库 2.自动构建 3.自动测试 4每个人都向代码库主干提交代码
5.每次代码提交都会在持续集成服务器上触发一次构建
6.保证快速构建 7.模拟生产环境的自动测试
8.每个人都可以轻松的获取最新的可执行程序
9.每个人都清楚正在发生的状况 10.自动化部署