1 需求
- 满足常用代码管理需求
- 安装配置简单
1.1 为什么没有直接选用 gitlab
参考 https://www.annhe.net/article-4276.html
Gitlab 是大而全的,对内存的需求比较大,最好是 4G 以上内存的机器。
相比之下,Gitea 就很轻量级了,能够很好的节约系统资源。另外 Go 程序部署起来也更方便。
还有一个比较实用的功能是,Gitea 支持全文搜索,而 Gitlab 社区版本不支持。
和 Gerrit 对比,Gitea 有着和 Github 体验类似的工单系统,也能很好的和CI工具集成,比如 Drone CI,获得和 Github 类似的使用体验。
综合来看,使用 Gitea 是一个不错的选择。
1.2 主流代码管理软件主要特性横向对比
来自 https://docs.gitea.io/zh-cn/comparison/
特性 | Gitea | Gogs | GitLab CE | GitHub EE | GitLab EE | BitBucket | RhodeCode CE |
---|---|---|---|---|---|---|---|
开源免费 | ✓ | ✓ | ✓ | ✘ | ✘ | ✘ | ✓ |
低资源开销 (RAM/CPU) | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✘ |
支持多种数据库 | ✓ | ✓ | ⁄ | ✘ | ⁄ | ✓ | ✓ |
支持多种操作系统 | ✓ | ✓ | ✘ | ✘ | ✘ | ✘ | ✓ |
升级简便 | ✓ | ✓ | ✓ | ✘ | ✓ | ✘ | ✓ |
支持 Markdown | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
支持 Orgmode | ✓ | ✘ | ✘ | ✓ | ✘ | ✘ | ? |
支持 CSV | ✓ | ✘ | ✘ | ✓ | ✘ | ✓ | ? |
支持第三方渲染工具 | ✓ | ✘ | ✘ | ✘ | ✘ | ✓ | ? |
Git 驱动的静态 pages | ✘ | ✘ | ✓ | ✓ | ✓ | ✘ | ✘ |
Git 驱动的集成化 wiki | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✘ |
部署令牌 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
仓库写权限令牌 | ✓ | ✘ | ✓ | ✓ | ✓ | ✘ | ✓ |
内置容器 Registry | ✘ | ✘ | ✓ | ✘ | ✓ | ✘ | ✘ |
外部 Git 镜像 | ✓ | ✓ | ✘ | ✘ | ✓ | ✓ | ✓ |
FIDO U2F (2FA) | ✓ | ✘ | ✓ | ✓ | ✓ | ✓ | ✘ |
内置 CI/CD | ✘ | ✘ | ✓ | ✘ | ✓ | ✘ | ✘ |
子组织:组织内的组织 | ✘ | ✘ | ✓ | ✘ | ✓ | ✘ | ✓ |
2 选型决策
目前选用 #gitea
3 gitea 安装和配置
参考官方文档即可
https://docs.gitea.io/zh-cn/install-from-binary/
https://docs.gitea.io/zh-cn/linux-service/
https://www.annhe.net/article-4276.html