CI的一些背景

作者: ahuatian | 来源:发表于2018-03-31 23:40 被阅读10次

一直在考虑3级CI的用处,其实多级CI的关键点就是区分侧重点,就像测试金字塔一样,业内也比较认同这种多级模式,尤其在传统的硬软结合IT公司,互联网公司,大都采用这种。

目前我们公司主要是两层,主要为开发侧的master分支CI,多产品的集成CI流程,基于master+master+可能存在的中间过程库。

这边解释一下中间过程库的概念:在开发master和受控库之间,临时拉出来一个库,用来存放正在测试中的代码,验证通过后合入受控库并销毁,主要是和同类基于SVN的模式

优点:过程库存放的代码是根据需求单关联,并且同时只能修改一个功能点,最后经过串行测试通过后才能合入受控库销毁,这种情况能够尽可能的保证受控库的代码是随时可用的,极大的保证了版本质量

缺点:从上述中能看出关键词【串行】,这样会影响开发任务的并发性。同时增加了2次meger的工作量

从目前实行情况看,增加了过程库,代码泄漏率确实降低了。

但从研发角度来看,我们的CI现在还没完成【管道】级的功能,也无法做到提交即触发,其本质还是由于代码管控工具(SVN/GIT)的本身特性限制的。

我们在想,是否有个更好的方案,既能够保留上述的优点,同时弱化缺点,是否基于git也能够完成这种模式?

这幅图能够简明的描述git分支特性

我们公司目前使用的是gitlab,gitlab的特性能够支持1,2,4及后续操作(暂不考虑自动化工具的支持,仅仅从特性是否支持来描述)

业内有另外一个工具gerrit,能够满足上述的步骤,包括3步骤。

两者区别:

gitlab的页面易用性更好,功能比较强大,支持各类接口和hock,但不支持自动local分支的代码走查

gerrit的页面易用性相对弱,但能够支持local分支的代码走查。最新版本的易用性有了明显的提升

针对上述区别,加上我们公司目前已经大规模使用gitlab,有了较大的基础。准备验证在gitlab上做尝试第一级CI,目标是独立管道,自动按照分支运行,方案后续完善。

相关文章

  • CI的一些背景

    一直在考虑3级CI的用处,其实多级CI的关键点就是区分侧重点,就像测试金字塔一样,业内也比较认同这种多级模式,尤其...

  • 修改 git 历史提交 commit 信息(重写历史)

    背景 近期在做一些开源项目的时候,提交 pull request 有些会要求提交 DCO 信息,用于 CI 的...

  • Culture Notes of Unit 5 Relax an

    注:本文目的主要是期末为学生总结书中出现的文化背景知识。对于其他读者也可以顺便浏览一些英语文化背景知识。 1 Ci...

  • 开发者路线2021-08-06

    学习一些CI/CD工具:Gitlab CI、Github Actions、Bamboo、Azure DevOps、...

  • 搭建Jenkins,配合github实现CI/CD

    背景: 近几年CI/CD盛行,但具体是什么?怎么用?内心是模糊的。公司内部有现成的CI/CD平台,但个人想自...

  • CI

    背景(有借鉴大佬的教程) 部门推荐使用自动化CI流程。 有个大佬搭建了整套CI流程。 大概思路:git 提交到re...

  • CI基础 & Setup环境

    为了更好地阅读体验,欢迎访问博客原文 CI Dojo背景 最近组织了一次关于CI的Dojo,将自己在Team中的C...

  • github集成---Travis CI和Coveralls

    项目提交github之后可以集成一些在线工具,例如Travis CI、Coveralls等。Travis CI可以...

  • 第六章 部署

    6.1 持续集成简介 CI(Continuous Integration,持续集成)CI流程中我们经常会生成一些构...

  • vim命令记录--慢慢丰富

    选择、删除、复制等,超级实用: ci'、ci"、ci(、ci[、ci{、ci<- 分别更改这些配对标点符号中的文本...

网友评论

  • 温泽润:我们应该缺失分支CI吧? 因为KPI的问题, 现在个别单位部署了多个CI流程, 一个私有CI, 频率非常高, 不放到KPI, 一个是公开的CI, 放到KPI, 这样大部分问题在私有CI上搞定, 避免一小时修复等KPI
    感觉这个私有的CI就类似于分支CI, 当然我们也可以规范化起来

本文标题:CI的一些背景

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