代码管理软件选型|Selection of Code Management Software

1 需求

  1. 满足常用代码管理需求
  2. 安装配置简单

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

4 gitea 定时备份

参考 https://docs.gitea.io/zh-cn/backup-and-restore/

使用 Hugo 构建
主题 StackJimmy 设计