前一阵因为自建的gitlab维护起来挺麻烦,遂决定选择托管的git服务。简单对比一下各个主流产品的调研和试验结果,主要涉及gitlab.com/github.com/腾讯工蜂/阿里云code。
对我来说选型参考项主要有以下几点
- 使用限制,包括私有仓库数量,允许多少团队成员协作
- CI/CD的支持
- 代码审查支持,包扩合并请求
- 是否支持deploy sshkey,这点虽然不是必须,但是有了算加分项。
- 访问速度
- 维护简单
- 使用成本
自建gitlab
自建gitlab第一件事情就是你需要给他分配计算资源,而且还不低,其他不论,我在MySQL的慢查询里面找到一条叹为观止的SQL,子查询已经不知道多少层,代码大概几百行,这是一条SQL。而且整个gitlab需要各种服务协同作业,服务的复杂度,占用的内存和硬盘资源也不小。所以维护难度也不小。简单总结一下
- 使用限制 ⭐⭐⭐⭐⭐,基本不限制,取决于服务器
- CI/CD支持 ⭐⭐⭐⭐⭐
- 代码审查,合并请求⭐⭐⭐⭐
- 支持 deploysshkey ⭐⭐⭐⭐⭐
- 访问速度取决于服务器 ⭐⭐⭐
- 维护简单 ⭐
- 使用成本⭐⭐,按照流量和服务器费用算下来,一个月要300RMB
gitlab.com
因为是从自建gitlab切过来,所以优先选择了gitlab.com,gitlab.com基本也不限制使用人数和私有仓库,好像有限制一个仓库2G的大小,对于代码管理来说完全够了。其他各个方面跟自建gitlab差不多。访问速度方面最差,最高也能有200kB的速率,增量推拉代码基本可以满足,但是时不时的还会丢包联不通就很难受。全量拉代码就吃力,而且网页访问合并请求有一个好几MB的js,导致开启速度慢的要死。
- 使用限制 ⭐⭐⭐⭐
- CI/CD支持 ⭐⭐⭐⭐⭐
- 代码审查,合并请求⭐⭐⭐⭐
- 支持 deploysshkey ⭐⭐⭐⭐⭐
- 访问速度 ⭐⭐
- 维护简单 ⭐⭐⭐⭐⭐
- 使用成本⭐⭐⭐⭐⭐
github
这是最广为人知的了,在我选型的时候还是限制团队协作人数的,在我选定使用gitlab.com的时候说不限制私有仓库和协作人数了,颇有一种刚进了宫大清就亡了的感觉。github的问题也是服务器在国外,会有不稳定的情况,访问速度应该略胜gitlab,其他方面应该是没得说了。
腾讯工蜂/阿里云code
这两个都是国内的免费仓库,基于最大的两个云服务商,而且都可以免费使用,好处是可以跟相关云服务的授权管理结合起来,而且推拉速度飞快。但是功能方面就一塌糊涂了。看得出来都是基于gitlab改到,改到只有基本的代码管理和合并请求。
- 使用限制 ⭐⭐⭐⭐⭐
- CI/CD支持
- 代码审查,合并请求⭐⭐⭐
- 不支持 deploysshkey
- 访问速度 ⭐⭐⭐⭐⭐
- 维护简单 ⭐⭐⭐⭐⭐
- 使用成本⭐⭐⭐⭐⭐
阿里云效2020 codeup
今年阿里云升级了云效,推出云效2020,令人耳目一新,其中就包括了新的代码仓库codeup。允许30人以下团队免费使用,功能非常强大。先看看评分
- 使用限制 ⭐⭐⭐⭐⭐
- CI/CD支持 ⭐⭐⭐⭐⭐
- 代码审查,合并请求⭐⭐⭐⭐⭐
- 支持 deploysshkey ⭐⭐⭐⭐⭐
- 访问速度 ⭐⭐⭐⭐⭐
- 维护简单 ⭐⭐⭐⭐⭐
- 使用成本⭐⭐⭐⭐⭐
云效中自带流水线功能,支持远程构建,支持分批部署,支持自动触发和权限控制。创建好流水线之后可以把执行权限下放给开发。合并请求之前可以设置代码审查条件,审核通过才可以合并。访问速度自然也是飞快。使用界面也相当舒服,是值得推荐的产品。