Chinaunix首页 | 论坛 | 博客
  • 博客访问: 565
  • 博文数量: 1
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 15
  • 用 户 组: 普通用户
  • 注册时间: 2018-09-04 15:18
个人简介

不汲汲于富贵

文章分类
文章存档

2018年(1)

我的朋友
最近访客

分类: 云计算

2018-09-04 16:02:58


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

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

集成


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

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

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

持续


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

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

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

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


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

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

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

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

  • 安装源码所需依赖
  • 执行JUnit、PHPUnit等单元测试工具
  • 执行Jlint、ESLint等语法检查工具
  • 将源码编译成二进制程序
  • 使用Meven/Gradle等工具将源码打包成WAR/JAR
  • 使用Webpack/Gulp等工具打包前端资源
  • 将程序打包成Docker镜像
阅读(195) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~