美文网首页
什么是持续集成?

什么是持续集成?

作者: 脉冲云DevOps | 来源:发表于2018-09-03 09:52 被阅读36次

    持续集成(Continuous integration)简称CI,是软件开发的一种实践方式,要求开发团队经常性进行系统集成。通过实施自动化构建,能够实现经常性、高频率的构建,并且在不断的集成过程中,持续增加软件功能,并能尽早发现系统错误。

    简单说,持续集成分为两个概念,持续集成

    集成

    软件项目都是由多模块组成,并且由不同的人员,甚至由不同的团队完成各模块开发,那么软件在最终交付之前,必须保证能够顺利地组合在一起,这个组合的过程就是集成。

    集成的具体工作可能包含联合编译、单元测试、统一打包等等。

    在项目进行集成的过程中,可能会暴露出各种问题,包括模块间接口对接失败、模块间存在冲突,甚至能反应出架构设计缺陷。所以,要在软件开发的过程中尽早地进行集成尝试,若等到临近项目交付才开始做集成工作,那将非常糟糕,一定会造成项目延期。

    持续

    持续是指,不仅仅在交付前进行项目集成,要在整个开发过程中不断进行集成工作,甚至从项目一开始就进行集成工作。

    因为集成工作能够有效地进行项目验证,那么多次集成便可以持续发现项目隐患,也就能在开发过程中尽早发现问题并持续改善。持续集成的效果和敏捷开发思想一脉相承,所以,持续集成是敏捷开发的有力保障。

    但是过多的集成次数必然导致人力的浪费,人力的限制也同时限制持续集成的频率,所以,采用自动化集成是持续集成的成败关键。

    编译构建和持续集成的关系

    脉冲云编译构建服务就是面向持续集成打造的在线的构建服务,或称为持续集成器。

    如上文所述,持续集成是一种开发实践,并非是指某一个工具。而要实现持续集成,必须要自动化的编译构建做支持,因为纯人力无法满足高频集成要求。

    自动化的编译构建服务是持续集成最关键的环节,但是持续集成实践并非只靠编译构建一个环节实现,还需要代码仓库接口测试镜像仓库部署管理等环境配合使用。

    编译构建服务作为持续集成实践最重要的一环,主要起到如下作用:

    · 安装源码所需依赖

    · 执行JUnit、PHPUnit等单元测试工具

    · 执行Jlint、ESLint等语法检查工具

    · 将源码编译成二进制程序

    · 使用Meven/Gradle等工具将源码打包成WAR/JAR

    · 使用Webpack/Gulp等工具打包前端资源

    · 将程序打包成Docker镜像

    文章转载自:脉冲云开发平台

    相关文章

      网友评论

          本文标题:什么是持续集成?

          本文链接:https://www.haomeiwen.com/subject/wwqbwftx.html