相较国外代码托管平台gitlab,咱们中国自己的代码托管平台有哪些优势?

简介: 网上代码托管选型的文章不少,不过大多内容有点久远,很多最新的平台没有包括进来,我把目前市面上比较火的代码托管平台(开源托管平台:Github、Gitee;企业级托管平台:Gitlab、阿里云效Codeup、 腾讯Coding)做了一些比较,比较的维度包括速度、成本、产研工具链完整性、安全、统计报表等,希望可以帮助正在进行代码托管选型的技术同行做决策选型。

相较国外代码托管平台gitlab,咱们中国自己的代码托管平台有哪些优势?没有对比就没有伤害,相较于国外的gitlab,大家平时也接触Github、Gitee 这些开源场景的代码托管平台,他们对个人开发者友好,可以接触到很多优秀的开源项目。但对团队代码管理,光这些还不够,还需要考虑成本、速度、和其他研发工具打通等。在选型时,首先要明确你的使用场景,是想在开源社区里协作开发(通常是个人开发者),还是想要拥有私密的代码仓库(通常是企业团队)。

通常在企业、团队私有代码管理场景下使用,那么国外的Gitlab,国内的阿里云云效Codeup、腾讯Coding 是到底选择哪个呢?

GitLab

GitLab 利用 Ruby on Rails 开发,据说最早也用过 Github 进行托管,后独立发展为知名的代码托管平台,同时支持 SaaS 版和自管理的私有化部署版本,由于其丰富的代码协作管控能力,备受企业青睐,不过因为是国外的平台,云服务的访问速度还是存在慢和不稳定的问题。

对于企业,还有一个选择是私有化部署托管服务。例如 Gitlab 就开放了基础版本供企业自行部署使用,目前在国内企业中的使用量还是比较广泛的。然而私有化部署是一把双刃剑,如果企业有足够的资本和人力,将托管服务部署在自己的服务器上感觉最安全,可是如果容灾和防护不到位,宕机数据丢失、黑客拖走代码也不是没有发生过。所以,如果自信有足够的技术实力的企业,可以选择私有化部署,反之,选择大公司提供的 SaaS 托管云服务是更好的决策。

image.png

阿里云云效 Codeup

提到阿里云的代码托管,一搜全是阿里云 Code,然而事实是这个平台早在 2020 年就已经升级成阿里云 云效Codeup (https://codeup.aliyun.com/)了,升级为提供覆盖项目管理、代码管理、测试管理、持续集成、制品管理、发布管理的 DevOps 一站式研发管理平台。

听起来挺复杂,简单说就是你在开发过程中需要用到的各种工具都在一个平台上提供给你了,愿意用哪些你自己选。这对于企业来说大大降低了管理难度,以前有一堆账号一堆工具,切来切去自己都混乱了,数据也分散在各个工具里,人也不好管,来个新人教半天讲不明白。现在一个平台一套账号就搞定了。

云效里面托管产品 Codeup 提供基于 Git 的代码托管服务,主打企业级托管,因此在管控和安全层面做了不少加强,由于在国内,访问速度相比 Gitlab、Github 快不少。

云效Codeup 也提供私有化部署服务,不过目前看价格相比公有云稍贵,适合有预算和需要独立部署的企业。

image.png

腾讯 CODING

CODING 是面向软件研发团队的研发协作管理平台,发展方向和上面阿里云一样,也是 DevOps 一站式。
CODING 本来专注做代码托管,产品比较小而美,很适合个人开发者使用,正因为迎合年轻开发者的形象,所以其 LOGO 是个可爱的小猴子(程序猿)。然而在 2019 年被腾讯收购成为其全资子公司后,开始转型做企业服务,将个人空间升级成为了团队空间,陆续加入了测试、持续集成、制品库、部署管理等模块,也支持对接腾讯云账号体系了,功能维度逐渐丰富,虽然有的功能模块能力还相对简单,但是支撑小团队的简单研发场景是完全没问题的。

同样的,因为是国内的云服务,访问速度比较快:

在聊场景的时候,顺便简单介绍了国内外这几家比较有名的平台背景,接下来我会从不同的特性上比较这几个平台的差异,分享我的经验给大家参考。

image.png

没有对比就没有伤害,适合企业、团队使用的代码托管中Gitlab、云效Codeup 和 Coding 这三个企业级的代码托管产品,都有哪些方面是值得我们关注的

速度

我个人对代码托管平台的要求首先就是速度一定要快,毕竟每天都得用,如果推拉速度慢非常影响体验。
我使用 5M 做 PUSH 测试, 180 M 的示例代码库做 CLONE 测试,在固定网络下分别在三个平台推拉,统计的时间如下:

参考维度 Gitlab(国外) 腾讯云 Coding 阿里云云效Codeup
SSH PUSH 2.9s 0.9s 1s
SSH CLONE 59.2s 18.5s 15.1s

总结:

● 在推拉速度这一条上,除非机场好,否则国外的平台就已经被 PASS 了;
● 云效Codeup 和 Coding Push 速度差不多,阿里云效 Codeup 的 Clone 速度稍微快一点。国内这两家速度都是秒级ok的,操作体验都挺好。

价格和容量

其次,价格也是需要考虑的一个因素。

在代码托管这个白热化市场里,大家的价格都已经打到地板上趴着了,不计成本抢开发者是现状。

对于适合企业使用的套餐,三个平台价格和容量限制如下:

image.png

总结:

● Gitlab 适合企业使用的功能是需要付费的,除了购买 SaaS 版本的高级套餐外,还可以选择自建 Gitlab,不过这个成本和风险都比较高,仅建议有技术实力和经费的企业考虑,而且国外产品的技术支持也会比较困难;
● 国内的两家来看,免费企业版 云效Codeup 给的容量会更多一些,人数、总容量和LFS都是不限制,单个仓库容量也比 Coding 大一倍以上;从付费高级版来说,价格相差19块,基本持平。但是 Coding 的一些付费功能在 云效Codeup 是可以免费使用的,例如 IP 白名单、访问审计,而且付费后 Coding 代码、制品、流水线时长仍有限制,看起来 云效Codeup 的不限更加划算;因为我们公司不考虑私有化部署,我就没有咨询了,大家有需要可以去他们官网上直接联系客服咨询。

研发工具链功能完整性

在基础托管的能力上,大家都是 Git 的托管,功能大差不差,都能满足企业诉求。然而企业的研发生产过程光代码托管一个工具肯定不够,所有有了 DevOps 工具链这么一说,从 DevOps 工具链完整性上来看,对比如下:

image.png

总结:

● Gitlab 扩展性很强,能够灵活定制,有技术能力、能保障网络速度的企业可以选择它;
● 基于阿里的研发管理经验,云效Codeup 的一站式产品能力更加成熟,能够支持大中小各类型的企业分别在复杂、简单的场景下按需使用其产品模块,组装出适合企业自己的研发流程规范;
● 腾讯 Coding 相对来说功能较简单,对复杂的研发发布过程支持会弱一些,例如CICD原生支持的组件少、构建没有容器化、资源权限管理粒度较粗,比较适合十几人的小企业或团队使用;

安全性

安全是个严肃的话题,特别是对于企业来说,代码可是关乎身家性命的重要资产。造成安全风险的原因有很多:

● 有可能是不经意使用了不安全的开源软件包,例如前一阵子全网轰动的 Log4j 漏洞事件;
● 也可能是使用了不安全的开源工具,例如国家信息安全漏洞共享平台发布的《关于SonarQube系统存在未授权访问漏洞的安全公告》(CNTA-2021-0031),对SonarQube系统未授权访问漏洞(CNVD-2021-84502)作出预警,攻击者利用该漏洞,可在未授权的情况下获取代码的敏感数据;
● 还有可能是人为操作不当造成,例如某公司程序员把代码不经任何处理上传到了 Github 的公共代码库,泄露了 IP 和用户名密码,导致黑客对整个数据库进行了拖库。

安全问题十面埋伏,代码托管平台给企业提供什么保护呢?在这一块咱们不看国外的产品,他们安不安全我也拿不准,就看看国内这两家在安全方面做的怎么样吧。

云效Codeup 和 CODING 都是大厂背书,阿里和腾讯基于自己的云安全产品,平台基础设施的安全性相信还是比较有保障的。例如 云效Codeup 对外宣称的安全白皮书里明确说明了基础设置安全、云效应用安全、数据存储安全、数据传输安全等是如何实现的:

image.png

对于国内云 SaaS 的托管平台来说,阿里云 云效Codeup 对安全性提的最多,官网上也是把安全放在第一位进行宣传,可能和它宣传的企业级代码托管平台定位有关,安全性是它最看重的能力。

image.png

image.png

在平台基础设施安全方面,两家大厂都有保障。云效Codeup 还支持用户自己可以定时将代码自动备份到自己的OSS,不过这OSS得你自己买存储空间。云效Codeup 还支持了所谓仓库加密的能力,号称能把存储在云端的代码都加密存储,阿里的工作人员和黑客都没法破译存储在云上的数据代码,第一次看到这功能还挺有意思。

总结: 从安全性来说,基础安全能力两家都不错,其中阿里云云效 Codeup 看上去更加全面一些。

数据度量

企业度量大概率会和人员绩效挂钩,企业场景的度量就得 全面、准确、可定制 。在数据度量这件事上,阿里和腾讯最近都铆足了劲在建设。

腾讯 CODING 刚上了「研发度量」模块,还在Beta阶段,可以自定义卡片和视图,数据包括三类:

● 提交次数
● 增减代码量
● 合并请求

视图包括团队和个人视图,目前看内容还太简单,期待下后续的发展:

image.png

阿里云 云效Codeup 也开放了「效能洞察」模块,里面的数据维度看起来是多了不少,简单看了看有:

● 代码总行数和变更增减量统计;
● 代码提交次数、时段统计;
● 代码变更量、提交次数人员排名;
● 代码库提交评审率、千行代码评论数;
● 代码安全问题趋势和个数排名;

支持分别从团队、用户组和个人视图查看研发活动数据,可以辅助评估成员研发贡献情况和项目进展情况,截几个图示意下:

image.png

image.png

image.png

结论:

企业的数据度量除了代码研发的,还有项目管理的。目前看 Coding 的「工作负载」模块收费才能使用,所以无法体验内容,但从代码数据统计来说,阿里云 云效Codeup 数据维度相对多一些,除了代码贡献这个维度外,还可以从评审活动参与率、扫描问题趋势等维度去了解人员对代码质量的投入度。

image.png

云效代码管理 Codeup 是阿里云出品的一款企业级代码管理平台,提供代码托管、代码评审、代码扫描、质量检测等功能,全方位保护企业代码资产,帮助企业实现安全、稳定、高效的研发管理。


点击下方链接,即可免费体验云效代码管理 Codeup

https://www.aliyun.com/product/yunxiao/codeup?channel=yy_0526

image.png

相关文章
|
7月前
|
Shell 程序员 开发工具
码云代码托管平台
码云代码托管平台
|
缓存 程序员 开发工具
服务搭建篇(八) 使用GitLab部署一个属于自己的代码托管平台
服务启动完成后,就可以访问gitlab服务了。默认的服务端口就是80端口。默认的用户名和密码是 root/123456(通常建议登录后立即修改默认密码)
299 0
|
1月前
|
jenkins 持续交付 开发工具
除了 Gitee,还有哪些代码托管平台支持 Webhook?
除了 Gitee,还有哪些代码托管平台支持 Webhook?
|
6月前
|
存储 安全 程序员
AtomGit代码托管平台评测赛——赛事收获暨赛事总结
AtomGit代码托管平台评测赛——赛事收获暨赛事总结
75 1
|
6月前
|
存储 安全 网络安全
AtomGit 代码托管平台评测赛——完整操作指南
AtomGit 代码托管平台评测赛——完整操作指南
74 0
|
存储 Linux Go
【git】安装体验Gitea 代码托管平台
【git】安装体验Gitea 代码托管平台
540 0
|
开发工具 git
如何把其他代码托管平台git仓库迁移到github还保留历史日志记录?图解步骤,值得收藏!
我在其他的代码托管平台(不是github)有一套代码,不同代码托管平台之间没有相互迁移的功能,怎么将仓库代码提交到github仓库呢?我会讲解适合于所有不同托管平台Git仓库之间的迁移方法,所以就不要老是抱怨着为什么没有外部仓库迁移过来的功能了。
317 0
如何把其他代码托管平台git仓库迁移到github还保留历史日志记录?图解步骤,值得收藏!
|
开发工具 git
gitee代码托管平台的基本使用与操作
gitee代码托管平台的基本使用与操作
253 1
gitee代码托管平台的基本使用与操作
|
运维 PHP 开发者
使用 Gitlab 平台|学习笔记
快速学习使用 Gitlab 平台
使用 Gitlab 平台|学习笔记
|
存储 安全 数据安全/隐私保护
部署 Gitlab 平台|学习笔记
快速学习部署 Gitlab 平台
部署 Gitlab 平台|学习笔记