1. GitHub:
1.1 GitHub 优势
- 无需自建服务器
- 无需考虑网络问题
- 购买的私有仓库服务,代码本身托管的安全性有保障
1.2 GitHub 安全性问题
- 在所有用户帐户上没有公司控制。我们控制哪些用户可以访问我们的存储库,但没有密码策略,用户选择自己的电子邮件地址等。
- 没有办法通过IP地址限制访问
- 密码只能由用户重置
- 妥协用户电子邮件帐户(我们无法看到他们设置了什么帐户)也导致他们的github帐户的妥协,因为他真使用电子邮件质询重置忘记的密码。
- 没有访问日志(有大多数或可能所有更改的审计跟踪,但没有日志记录访问)
- 访问Web前端只受密码保护,所以很容易从其他网站的密码重用,并在某种程度上暴力强制(github的声明,他们为失败的登录做了很不清楚)。
2. GitLab
2.1 GitLab 优点
操作习惯上高度类似GitHub
有自动集成等类似GitHub的功能,从GitHub迁移到GitLab成本较小
因GitLab服务自己搭建在私有服务器上,可自己管理,安全性有保障
托管的项目可默认设置为私有项目,并通过权限管理
2.2 GitLab缺点
- 需独立一台服务器,内存至少4GB,双核以上CPU
- 需相对熟悉GitLab的人员进行长期管理和系统维护
- 多地同时使用需打通网络通道
- 结合第二点,GitLab收到推送更新后需要自己处理,升级就带来风险(升挂了之类)
- GitLab安装包大约有700M,相对比较臃肿