持续集成介绍
传统的软件开发流程如下:
项目经理分配模块给开发人员
每个模块的开发人员并行开发,并进行功能测试
开发完毕,将代码集成部署到测试服务器,开始测试
测试人员发现bug,提交bug,开发人员修改bug
bug修改完毕再次集成、测试。
问题描述
模块之间依赖关系复杂,在集成时发现大量bug
测试人员等待测试时间过长
软件交付无法保障
解决上述问题的思考:
能否把集成测试时间提前?
能否使用自动化工具代替人工集成部署过程
什么是持续集成
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少一次的集成,也就是意味着每天可能发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早的发现集成错误。
持续集成(Continuous integration)的思想是每天要多次将代码合并到主线上,并进行集成,测试,这样就可以提早发现错误,进行修正,该部分是DevOps中的一部分。
1、自动化集成部署、提高了集成效率。
2、更快地修复问题。
3、更快的进行交付。
4、提高了产品质量。