AI, ML, and networking — applied and examined.
GitLab太重GitHub太远,它是你自建代码托管的唯一真神
GitLab太重GitHub太远,它是你自建代码托管的唯一真神

GitLab太重GitHub太远,它是你自建代码托管的唯一真神

在这个云服务随时可能“断供”、外网连接时断时续的年代,把代码攥在自己手里,已经成了很多技术团队和极客的共识。

说到自建代码托管平台,很多人的第一反应是 GitLab。没错,GitLab 很强,但它也是出了名的“资源黑洞”。如果你尝试在一台 2GB 甚至 4GB 内存的 VPS 上跑 GitLab,那种卡顿和奔溃感会让你怀疑人生。它就像一辆重型坦克,火力猛但油耗高,启动一次都要半天。

有没有一种方案,既能拥有 GitHub 那样丝滑的体验,功能强大,又轻量到能跑在树莓派甚至路由器上?

今天我们要聊的这个项目 Gitea,就是为此而生的。它不是坦克的平替,它是特种兵手中的瑞士军刀。

核心亮点:不仅是轻,更是全能

Gitea 的目标非常简单粗暴:做最简单、最快、最无痛的自建 Git 服务。 经过多年的迭代,它已经从一个简单的 Git 查看器进化成了全功能的 DevOps 平台。

1. Go 语言加持,极致轻量与跨平台
Gitea 是用 Go 语言编写的。这意味着什么?意味着它编译出来就是一个单一的二进制文件。没有复杂的依赖地狱,没有臃肿的运行环境。

不管你是用 Linux、macOS 还是 Windows,也不管你的 CPU 是 x86、AMD64,甚至是 ARM 和 PowerPC(比如树莓派或者老旧的服务器),扔进去一个文件,直接就能跑。相比于那些动不动就要拉取十几个 Docker 镜像、吃掉几个 G 内存的竞品,Gitea 简直是清流。

2. 像素级复刻 GitHub 体验,零学习成本
很多开源软件最大的问题是“工程师审美”,界面丑到没法用。但 Gitea 不一样,打开它的那一刻,你会有一种“回得家了”的错觉。

Gitea Home Page

从 Issues 管理、Pull Requests 代码审查,到 Wiki、看板,Gitea 的界面逻辑和 GitHub 高度相似。你的团队成员根本不需要培训,上手就能干活。

3. 内置 CI/CD 与软件包管理,麻雀虽小五脏俱全
别以为它轻量就功能简陋。现在的 Gitea 已经内置了 Gitea Actions(兼容 GitHub Actions 的语法!),你可以直接在自己的服务器上跑自动化构建和部署。此外,它还内置了 Package Registry,支持 Docker、NPM、Maven 等软件包管理。

这就很离谱了:一个几十兆的程序,不仅管代码,连 CI/CD 和制品库都给你管了。

竞品对比:Gitea 到底赢在哪?

在开源代码托管领域,大家最纠结的无非是 GitLabGogs。我们来一场不吹不黑的硬核对比。

Gitea vs GitLab:
这是最经典的“大而全”与“小而美”的战争。
* GitLab 是企业级的航母,功能多到你可能一辈子都用不完 90%,但代价是极其沉重的资源消耗。如果你的团队有上千人,需要极度复杂的权限流转,选 GitLab。
* Gitea 是轻型护卫舰。对于个人开发者、中小团队或者资源受限的 VPS 玩家,Gitea 是碾压级的胜利。GitLab 跑不起来的机器,Gitea 跑得飞起;GitLab 升级一次像做心脏手术,Gitea 升级只需要替换一个二进制文件。即使在 Reddit 的 Selfhosted 社区,Gitea 也因为其极致的性能和极低的维护成本,被无数硬核玩家奉为首选。

Gitea vs Gogs:
这是一段“相爱相杀”的历史。Gitea 其实在 2016 年 fork 自 Gogs。
* Gogs 虽然是鼻祖,但由于由单人维护,社区参与度受到限制,更新频率和功能迭代早已放缓。
* Gitea 则是社区驱动的产物(Fork 的原因正是为了更开放的社区治理)。现在的 Gitea 在功能丰富度(如内置 Actions、LFS 支持等)、安全性更新和社区活跃度上,已经全面超越了 Gogs。可以说,Gitea 是 Gogs 的精神续作且早已青出于蓝。

部署与使用:一杯咖啡的时间

部署 Gitea 简单到令人发指。你既可以直接下载二进制文件运行,也可以用 Docker 一键拉起。

如果你是 Docker 用户,创建一个 docker-compose.yml

version: "3"

services:
  server:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "222:22"

networks:
  gitea:
    external: false

运行 docker-compose up -d,访问 `http://你的IP:3000`,你就能看到那个熟悉的安装引导界面了。配置一下数据库(支持 SQLite,连单独跑数据库都省了),创建管理员账号,你的私有 GitHub 就诞生了。

Gitea Issues

VPS 推荐

Gitea 虽然极度省资源,但有个稳定的家还是很重要的。如果你需要一台高性价比服务器来部署它,推荐 RackNerd,便宜稳定。直达链接:http://a8z.me/B2lT

结语

在这个数据隐私越来越重要的时代,Gitea 给了我们一个完美的平衡点:它足够强大,能满足你对现代开发流程的所有想象;它又足够轻量,让你无需为昂贵的硬件买单。

别再忍受龟速的 Clone 速度了,也别让笨重的 GitLab 拖垮你的服务器。现在就动手,搭建属于你自己的代码堡垒。

项目地址: https://github.com/go-gitea/gitea

Leave a Reply

Your email address will not be published. Required fields are marked *