传统软件开发与持续集成
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
传统软件开发与持续集成开发
传统的软件开发流程如下:
1、项目经理分配模块给开发人员
2、每个模块的开发人员并行开发,并进行单元测试
3、开发完毕,将代码集成部署到测试服务器,测试人员进行测试。
4、测试人员发现bug,提交bug、开发人员修改bug
5、bug修改完毕再次集成、测试。
但是这样就出现了如下问题:
1、模块之间依赖关系复杂,在集成时发现大量bug
2、测试人员等待测试时间过长
3、软件交付无法保障
持续集成
我们可以采用持续集成来解决上述问题
大师Martin Fowler对持续集成是这样定义的:
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都
通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集
成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
持续集成的好处:
1、自动化集成部署,提高了集成效率。
2、更快的修复问题。
3、更快的进行交付。
4、提高了产品质量。
本文提出一种持续集成的方案:
1、开发人员开发代码,推送到Git服务器中
2、当Git服务器中的代码发生变化时,会触发配置在Git服务器中的钩子地
址,通知到Jenkins
3、Jenkins把代码下载下来,通过Maven,build成Docker镜像
4、再把Docker镜像推送到Docker仓库中
5、再从Docker仓库中构建出可以运行的Docker容器