2017最新代码托管服务测评报告

ClickFast
• 阅读 3515

代码是 DevOps 流程的起点,是所有研发流程的基础,代码托管能为代码“保驾护航”,确保代码的安全性、可用性,同时提供围绕代码的一些基础服务,如 MR 、 Issue 等等。

国内代码托管环境背景:
大部分个人开发者会选择在Github上学习的时候将自己的代码托管在Github上,随着开发者群体的壮大,国内也陆续推出各类代码托管服务,个人或小企业的开发者也会选择将代码托管在这些国内的平台上。还有部分中小企业选择内部自行搭建 SVN ,会遇到搭建成本,维护,扩展,备份,数据安全和可靠性的问题。在线服务是趋势,如何选择值得相信的,可扩展的,无成本的代码托管服务呢?

下面我们开始对国外和国内的代码托管产品进行横向测评:

1.GIthub :
核心问题—— Github 的企业版收费和速度慢。
收费有多贵? 10 个私有仓库, 25 美元 /月。 这个价格看起来很便宜。
速度有多慢?在杭州 12M 宽带的网络下在 300~400ms 左右,并且有不稳定的 50%左右丢包率。在全国各机房统计的 ping github 的网络速度看, github 在中国的访问确实是极度不稳定的,在上面查看代码还可以,如果是日常工作相信是无法接受的。
还有对每个开发者来说或大或小的中英文差异问题,导致使用过程会有些不流畅

2.Coding.net :
基于国外的语言、社交、社区等一系列的差异问题,国内也有了很多自己的代码托管平台,其中表现较好的得算上coding 。
核心优势——有演示平台(一键部署)和质量分析(虽然用户普遍表示这个分析效果较一般),私有仓库全免费、也推出了安卓和 IOS 客户端。
要说它的劣势,应该就是收费问题了吧,不过对于小开发者来说日常功能能够满足需求了。

3.Amazon ( CodeCommit ):
对标竞争对手是 Github ,不过人家早已占领市场份额,于是主打技术牌。
核心优势——他打的点在于分布式部署,无线扩容的存储,和传输过程的加密
支持存储任何代码到二进制文件,并支持 Git 的标准功能,允许它与您现有的基于 Git 工具无缝地工作。
提供内置加密支持,从而能够加密在途和静态文件以及存储库。

4.阿里云 code :
从未在外面推广过的一款代码托管产品,估计很多人还不知道阿里云有这个服务
核心优势——云计算代码托管, 高可用,安全, 性能和容量是核心竞争力,支持 svn 客户端对 git 仓库进行操作。目前已经支持 git 分布式存储。
单元化架构是从并行计算领域发展而来。在分布式服务设计领域,一个单元( Cell )就是满足某个分区所有业务操作的自包含的安装。而一个分区( Shard ),则是整体数据集的一个子集,如果你用尾号来划分用户,那同样尾号的那部分用户就可以认为是一个分区。单元化就是将一个服务设计改造让其符合单元特征的过程。
为了实现单元化的目标,阿里云 code 在最初设计时就往这方面考虑。比如跨机房备份中,消息消费应用需要调用 Sharding-Proxy-Api 获取 rpc 服务的地址时,尽可能做到数据在单机房内闭环。这样在满足单元化要求的同时,也可以在机房故障时,尽量不影响已进入队列的消息在消费时出现数据断流。
现在阿里巴巴集团 GitLab 在架构上已经基本具备了单元化部署的能力,这样的情况下,无论是对外提供服务,还是需要单独搭建新服务时,都不会遇到问题。
产品目前在公测期,完全免费,接入很便捷。

综上,大家可以根据自己的需求选择合适的托管服务。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
SpringBoot学习:整合shiro自动登录功能(rememberMe记住我功能)
首先在shiro配置类中注入rememberMe管理器!复制代码(https://oscimg.oschina.net/oscnet/675f5689159acfa2c39c91f4df40a00ce0f.gif)/cookie对象;rememberMeCookie()方法是设置Cookie的生成模
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Easter79 Easter79
3年前
SpringBoot学习:整合shiro自动登录功能(rememberMe记住我功能)
首先在shiro配置类中注入rememberMe管理器!复制代码(https://oscimg.oschina.net/oscnet/675f5689159acfa2c39c91f4df40a00ce0f.gif)/cookie对象;rememberMeCookie()方法是设置Cookie的生成模
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这