卓越科技

科学观察员
科学赐予人类相信真理的力量

什么是 CI 持续

  现正在做测试,时常听到一个观念 接连集成 CI 。

  那什么是接连集成呢?自负大师看了不少著作之后已经是一脸懵逼。

  这里呢,用我本身的认识说一下,不无误的地方还就教正。

  要说接连集成,起首要理解什么是集成。良众测试同砚说到集成,就思到集成测试。

  这里的集成重要是指代码的集成:

  举例来说,例如目今迭代,开垦岁月为两周。项目先河后,开垦职员会从代码办理器材(SVN 或 GIT)的主干代码上复制一份代码到本身当地电脑。然后正在本身的当地电脑长进行开垦,假设这个项目有三个开垦职员,分辨是 jim(狗蛋)、lily(翠花)、tom(大锤)。

  好,现正在三个开垦分辨正在本身电脑上开垦。开垦职责竣事后,一次性提交本身当地代码到代码办理器材的主干代码上。

  这个进程就叫集成,也便是代码集成,将本身当地的代码集成到主干代码。此时爆发了所谓的集成地狱。三位开垦有大概会改到统一个代码文献、统一个门径,云云就会出当代码冲突。为了收拾集成进程中的冲突,会花费极度众的岁月、精神和本钱,而且提升了公布危害。

  为了下降这种危害和本钱,于是接连集收获被提出了。夸大的是不再一次性把代码集成到主干,而是高频率的接连集成。一天集成1次,以至众次。同时正在集成进程中,实行自愿化测试,保障主干代码平昔可用。

  为保障主干代码可用,开垦每次代码集成后都必要实行 BVT测试,也便是好像冒烟测试的进程,比冒烟更浅易极少,重要保障体系可用。这种测试因为测试频率高,所以对自愿化测试的需求极度大。

  那么现正在主流的接连集成器材,例如 Jenkins 做些什么事件呢?

  先来说一下没有 Jenkins 的时间,咱们奈何去更新测试情况的。

  起首从 SVN 上获取最新代码;

  正在当地实行编译

  构修一个公布包,通过 FTP 上传到测试情况任职器

  将公布包中实质更新到相应的任职

  重启闭联任职,以使更重生效

  要是布置了负载平衡,则正在其他任职器上反复 4, 5

  每次构修和更新测试情况都是很繁琐的职责,况且极易显示过错。那么 Jenkins 醒目什么呢?

  能让这一系列事件全盘自愿化:

  凭据法例轮询代码办理器材,获取最新代码(也可能手动或修立其他法例)

  基于差异的措辞实行构修(必要自行修设)

  通过 FTP 把构修后的实质自愿上传到对应的任职器

  应用插件或者剧本,将公布包实质更新到各个情况

  通过夂箢行挪用自愿化测试剧本,搭配代码遮盖率器材履行自愿化测试

什么是 CI 持续  显示自愿化测试申诉,并邮件告诉构修情状

  也便是让集成进程中繁琐的事件都自愿化了,那么实行接连集成也不会由于集成频率过高带来的情况布置和一再测试而导致开垦成果下降。

卓越科技 版权所有,未经允许不得转载:卓越科技网 » 什么是 CI 持续
分享到: 更多 (0)