我所了解的几种持续集成方案

关键字:配置管理,CI,CD,QA

前言

和几个TW的朋友共事一年多,学到了很多阳春白雪的东西,比如持续集成、DevOps,以及敏捷云云。
自以为可以出师,结果在实施的过程中遇到很大的阻力,大部分同学不理解CI的作用,认为这是变相的传销
如何让领导和程序员满意才是一套持续集成系统成功实施的关键。

最简方案:GitHub + TravisCI + CodeCov + VPS

GitHub不仅仅是一个代码托管网站,更是全世界最大的同性交友社区。替代方案:BitBuket
Travis CI可以用GitHub账号登录,有助于理解持续集成的理念,文档是英文,但是很简单。替代方案circleci
VPS推荐Linode,顺便搭建一个SS,但是由于某些原因,你可能还是需要阿里云
代码测试覆盖率可以使用codecov(可选)。

优点

  • 便宜
  • 完全不需要维护硬件。

缺点

  • 访问外网不稳定。
  • GitHub、TravisCI和CodeCov都有收费项目。

总结

适合可以开源的小项目,主要是用来开拓眼界。

初级方案:代码托管服务 + Jenkins + VPS

如果觉得GitHub网速太慢,可以考虑使用国内的替代品,比如开源中国的马云,哦,sorry,是码云,或者CSDN的CODE。它们的私有仓库是完全免费的。
随着业务的扩大,Travis CI的问题就开始显露出来:不稳定!特别是SSH通道。当然,这不是Travis CI的错,你懂的……
这时候就可以考虑换成Jenkins了,在国内,持续集成基本就等同于Jenkins。
除非特殊用途,VPS也请选择国内的。
PS. 如果使用的是码云,可以配套使用开源中国提供的SonarQube,See:http://sonar.oschina.net/

优点

  • 费用低(只需要VPS的费用)。

缺点

  • 账号不通用,配置管理混乱。

总结

适合没有敏感信息的小项目。

万精油:GitLab + Jenkins + Nexus + SonarQube + VPS/VMWare

当公司步入正轨以后,一般就会有一套OA系统,比如基于LDAP的企业通讯录。这个时候就需要统一的配置管理和一个配置管理员(CMO)的角色。
GitLab是比较成熟的解决方案,完全可以替代GitHub,Code Review的时候挺好使的。
另外可以考虑增加构件仓库Nexus OSS和代码质量检查的平台SonarQube
Nexus私服大家应该不陌生,缺点是没有官方的LDAP插件,但是对于大部分开发人员来说可以不关注,我们可以把私服地址配在公司级Root POM。
SonarQube可以和Jenkins无缝集成,Jenkins的流水线应该包括一个QA Job,如果扫描出致命或者严重Issue直接失败。代码质量问题应该马上解决,而不应该留到Code Review。
PS. Jenkins、GitLab和SonarQube都可以通过LDAP进行登录。

优点

  • 费用适中。

缺点

  • 无明显缺点。

总结

适合大部分的中小企业。

终极方案:自建CI/CD流水线

中大型企业不差钱,万事不求人,所以自建持续集成流水线就成为必然。
首先说说万精油方案的局限(不算是缺点):

  • Jenkins、Nexus还有SonarQube最大的共性就是如出一辙的插件系统,特别是前面两个,完全是基于文件系统(主要是xml)的,当接入的项目越来越多,性能就会急剧下降。
  • 虽然可以通过LDAP登录,但是毕竟是完全独立的系统,无法做到单点登录。
  • 风格不统一,领导要看报表。

最简单的做法就是给这些系统加层皮,这也是很多企业或者部门的做法。不过依然无法解决性能问题。
现在来说说我所了解的一些方案:

  • Jenkins Job Builder
    OpenStack CI系统的核心,配合OpenStack自己的任务调度,把Jenkins做成了真正的分布式。See: Understanding the OpenStack CI System
  • CloudBees
    差不多是Jenkins的商业版,最大的特点是!哈哈,开玩笑,持续集成服务就没有便宜的。大致的做法就是workscpce共享高速磁盘。
  • Artifactory
    JFrog出品,可以用来替换Nexus,原生支持LDAP、分布式,需要安装数据库,一般大公司直接找他们(一般和Jenkins一起)定制开发。
  • Go CD
    TW出品,号称业界唯一能达到持续部署高度的平台,某为就有基于Go进行定制开发。

优点

  • 成本高昂。

缺点

总结

适合大中型企业。
---------EOF--------

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容