使用持续集成、持续交付和持续部署在软件开发中的价值
持续集成、持续交付和持续部署在软件开发中的价值非常大,让我们来了解一下为什么?
一、什么是持续集成、持续交付和持续部署
1、持续集成
就是持续不断地将代码从分支集成到主干,并且要保证在并且要保证在合并到主干之前,必须要通过所有的自动化测试。
2、持续交付
则是基于持续集成,在自动化测试完成后,同时构建生成各个环境的发布包,部署到测试环境,但生产环境的部署需要手动确认。
3、持续部署
是在持续交付的基础上,对生产环境的部署也采用自动化。
二、为什么要用持续交付
1、尽快暴露问题
Martin Fowler曾经说过,“持续交付并不能够消除Bug,而是让它们能够被非常容易地发现和改正。自动化测试,可以保证很多问题在合并到分支之前就能被发现;每次合并后就部署到测试环境,也能让测试人员尽早介入,及时发现问题。
2、极大提升效率
持续交付让开发过程中从代码合并,一直到最终部署,都实现了自动化,能极大程度上提高效率。
3、提升质量
每次合并之前都需要通过自动化测试,因此错误会少很多。
4、降低项目成本
在最初搭建持续交付环境的时候,是要投入一定成本的,但是从长远看,开发效率提升了,代码质量提高了,反而是对降低项目的整体成有帮助的。
三、如何使用持续交付
1、准备工作
源代码管理工具
比如说 git、svn,因为持续集成工具需要从统一的源代码仓获取代码;
自动化测试代码
因为持续集成有一个很重要的条件,就是自动测试必须通过。
2、选择合适的持续集成工具
Jenkins
Jenkins应该是目前最好的开源持续集成工具,可以自己搭建,插件非常丰富,可以满足绝大部分项目的需要。相对使用难度要高一些,需要花一点时间学习。
GitLab CI
GitLab CI是 Gitlab 推出的持续集成工具,可以自己搭建也可以使用它的在线托管,价钱便宜。
华为软开云
华为软开云的流水线是基于Jenkins开发的CI/CD工具,5人以下团队人员使用免费。
3、建立合理的研发制度
使用了源代码管理工具、开发了自动化测试代码、搭建了合适的持续集成工具以后,还需要合理的制度相配合,否则工具是工具,没人用,也是白搭。按照我们的实践经验,源码库使用多分支管理,建立3个分支:主分支、开发分支和测试分支。测试分支将会使用持续集成和持续交付工具。主分支上将会使用持续部署工具。
- 点赞
- 收藏
- 关注作者
评论(0)