使用持续集成、持续交付和持续部署在软件开发中的价值

举报
ktwl 发表于 2019/09/25 09:39:14 2019/09/25
【摘要】 持续集成、持续交付和持续部署在软件开发中的价值非常大,让我们来了解一下为什么?一、什么是持续集成、持续交付和持续部署1、持续集成就是持续不断地将代码从分支集成到主干,并且要保证在并且要保证在合并到主干之前,必须要通过所有的自动化测试。2、持续交付则是基于持续集成,在自动化测试完成后,同时构建生成各个环境的发布包,部署到测试环境,但生产环境的部署需要手动确认。3、持续部署是在持续交付的基础上,...

持续集成、持续交付和持续部署在软件开发中的价值非常大,让我们来了解一下为什么?

使用持续集成、持续交付和持续部署在软件开发中的价值

一、什么是持续集成、持续交付和持续部署

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个分支:主分支、开发分支和测试分支。测试分支将会使用持续集成和持续交付工具。主分支上将会使用持续部署工具。

使用持续集成、持续交付和持续部署在软件开发中的价值

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。