服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-08-20 简米科技 4,249 字 10 分钟阅读

如何用云主机搭建代码仓库和CI流水线?,轻量组合怎么搭建

导读用云主机搭建代码仓库和 CI 流水线,轻量组合推荐 Gitea + Drone CI,一台 1 核 2G 的云主机就能流畅运行,月成本控制在几十元,适合 5 人以下团队或个人开发者,维护简单且数据自主可控,云主机搭建代码仓库:需要多大配置才够用?很多人在启动自建方案时,第一个问题就是配置选型,配置低了怕跑不动……

用云主机搭建代码仓库和 CI 流水线,轻量组合推荐 Gitea + Drone CI,一台 1 核 2G 的云主机就能流畅运行,月成本控制在几十元,适合 5 人以下团队或个人开发者,维护简单且数据自主可控。

云主机搭建代码仓库:需要多大配置才够用?

很多人在启动自建方案时,第一个问题就是配置选型,配置低了怕跑不动,高了又怕浪费预算,根据开源社区的实际运行反馈,代码仓库本身对资源消耗不大,真正吃资源的是 CI 流水线中的构建任务。

不同规模下的配置推荐

  • 1-5 人团队:代码仓库用 Gitea,CI 用 Drone,1 核 2G 内存足够,日常 push、拉取代码、跑简单构建(如打包、测试)毫无压力,如果同时频繁跑大规模编译,建议升级到 2 核 4G。
  • 5-10 人团队:建议 2 核 4G 起步,因为并行构建任务增多,内存和 CPU 都要留余量,也可以把代码仓库和 CI 分开部署到两台云主机上,但会增加成本。
  • 10 人以上团队:推荐 4 核 8G 或更高,或者考虑将构建节点分散到多台机器,避免单点瓶颈。

国内云主机搭建代码仓库的常见配置示例

场景 云主机配置 预估月成本(国内主流云厂商,按量或轻量型)
个人或 1-3 人小项目 1 核 2G,40GB 系统盘 约 50-80 元
5-10 人团队,轻量 CI 2 核 4G,60GB 系统盘 约 100-150 元
10 人以上,频繁构建 4 核 8G,80GB 系统盘 约 200-350 元

业内专家指出,在大部分情况下,1 核 2G 的云主机跑 Gitea + Drone 已经足够,瓶颈往往出现在 CI 构建的并发数上,而非代码仓库本身。

自建 CI 流水线对比托管服务:哪个更适合轻量团队?

选择自建还是用现成的 SaaS 服务(如 GitHub Actions、GitLab CI 托管版),需要看团队的核心诉求,自建的优势在于数据隐私、无用户数限制、可自定义运行环境;劣势是需要自己维护,初期有一定学习成本。

自建 vs 托管:几个关键对比点

  • 成本

    如何用云主机搭建代码仓库和CI流水线?,轻量组合怎么搭建

    :托管服务通常按分钟数或并发数收费,对于频繁构建的团队,月费可能超过一台云主机的费用,自建只需支付云主机固定成本,构建次数不限,长期来看更划算。

  • 数据安全:代码托管在第三方平台,即使私有仓库也存在合规风险,自建代码仓库和 CI 流水线,所有数据都在自己云主机上,适合对隐私要求较高的项目。
  • 灵活度:自建可以完全控制 CI 环境,安装任意依赖、自定义镜像、接入私有网络,托管服务受限于平台提供的运行环境,部分特殊配置可能无法实现。
  • 维护成本:托管服务不用操心更新、备份、安全补丁,自建需要定期升级软件、备份数据、监控磁盘空间,Gitea、Drone 等轻量级工具升级简单,容器化部署后通常只需拉取新镜像重启。

什么情况下应该优先考虑自建?

  • 团队人数超过 5 人,但不想按人头付费购买托管服务的私有仓库。
  • 项目需要频繁构建,且每次构建时长较长,用托管服务累计费用较高。
  • 对代码和数据有严格合规要求,不能存放在境外或第三方平台。
  • 希望完全掌控 CI 流水线的执行逻辑,不依赖特定平台的语言和限制。

轻量级代码仓库与 CI 工具选型:Gitea + Drone 的组合实践

在自建方案中,最轻量的组合是 Gitea(代码仓库) + Drone CI(持续集成),两者都用 Go 编写,资源占用低,安装简单,社区活跃。

为什么首选 Gitea?

  • 安装包仅几十 MB,支持 Docker 一键部署,单进程运行,内存占用常年在 200MB 以内。
  • 功能完整:支持 Web 管理、仓库镜像、Issue、Pull Request、Webhook、LFS 等,对 50 人以下团队完全够用。
  • 升级方便:容器化部署下,替换镜像即可,配置和数据卷分离。

为什么选择 Drone CI?

  • 同样用 Go 编写,轻量级,与 Gitea 集成天然顺畅,通过 OAuth 一键登录。
  • 流水线配置采用 YAML 文件,直接放在仓库中,与代码版本管理。
  • 支持多种执行环境(Docker、Kubernetes、SSH),且自带丰富的插件生态。
  • 部署简单,一条 Docker 命令即可启动,依赖 SQLite 或外部数据库。
  • 如何用云主机搭建代码仓库和CI流水线?,轻量组合怎么搭建

实操步骤:在云主机上部署 Gitea + Drone

以下步骤基于 Docker 和 Docker Compose,假设你已有一台云主机并安装了 Docker。

  1. 创建目录和配置文件
    mkdir -p /opt/gitea /opt/drone
    cd /opt
  2. 编写 docker-compose.yml
    version: '3'
    services:
      gitea:
        image: gitea/gitea:latest
        restart: always
        volumes:
          - ./gitea:/data
        ports:
          - "3000:3000"
          - "2222:22"
        environment:
          - USER_UID=1000
          - USER_GID=1000
      drone:
        image: drone/drone:latest
        restart: always
        ports:
          - "80:80"
        volumes:
          - ./drone:/data
        environment:
          - DRONE_GITEA_SERVER=http://gitea:3000
          - DRONE_GITEA_CLIENT_ID=你的ClientID
          - DRONE_GITEA_CLIENT_SECRET=你的ClientSecret
          - DRONE_RPC_SECRET=共享密钥
          - DRONE_SERVER_HOST=你的域名或IP
          - DRONE_SERVER_PROTO=http
        depends_on:
          - gitea

    注意:需要先在 Gitea 中创建 OAuth 应用,获取 ClientID 和 Secret,DRONE_RPC_SECRET 是一个随机字符串,用于 Agent 通信。

  3. 启动服务
    docker-compose up -d
  4. 配置反向代理(可选但推荐)
    使用 Nginx 或 Caddy 为 Gitea 和 Drone 配置域名和 HTTPS,避免通过 IP 访问,同时提升安全性。
  5. 添加 CI Agent
    如果需要在云主机上本地执行构建,可以再启动一个 Drone Agent,使用相同的 RPC_SECRET 连接到 Server。

这样一套环境就搭建好了,通过 Gitea 的 Webhook 自动触发 Drone 执行流水线。

核心配置建议

  • 数据备份:定期备份 Gitea 的 /data 目录和数据库,建议使用云厂商的快照或定时任务拷贝到对象存储。
  • 安全加固:设置防火墙只开放必要端口(80/443、3000、22),禁用 root 密码登录,使用 SSH 密钥。
  • 资源监控:使用 htopdocker stats 观察资源占用,如果发现内存不足,可以适当增加 swap 或升级配置。

低预算云主机 CI 方案:Gitea + Drone 的日常维护

如何用云主机搭建代码仓库和CI流水线?,轻量组合怎么搭建

很多团队关心的是,搭建之后日常需不需要花大量时间管理,根据行业共识,这套组合的维护工作量很小,关键在于自动化。

自动更新

  • 使用 Watchtower 容器,自动拉取 Gitea 和 Drone 的最新镜像并重启。
  • 也可以手动通过 docker-compose pull && docker-compose up -d 完成升级,通常几分钟内完成,不会影响已有数据。

构建缓存优化

  • Drone 默认会在每次构建时拉取全新镜像,可以通过配置 volume 挂载 Docker 缓存目录来加速后续构建,避免重复下载依赖。
  • 对于 Maven、npm 等包管理器,建议在云主机上配置本地缓存代理,减少外网带宽消耗。

成本控制

  • 云主机按需付费或包年包月,如果构建频率不高,可以考虑使用抢占式实例,降低成本。
  • 如果构建任务对 CPU 要求高,但平时空闲,可以设置 Drone 的并发限制,避免资源被占满导致 Gitea 响应变慢。

关于云主机搭建代码仓库和 CI 流水线的常见问题

Q1: 云主机搭建代码仓库和 CI 流水线,一个月大概需要多少钱?

主要开销是云主机费用,以国内主流云厂商的轻量应用服务器为例,1 核 2G 配置月费约 50-80 元,2 核 4G 约 100-150 元,如果使用抢占式实例或按量付费,成本可以更低,域名和 HTTPS 证书(免费)无需额外费用,总体预算可控。

Q2: 自建 CI 流水线比用 GitHub Actions 慢吗?

取决于云主机的配置,如果云主机有良好的上行带宽和 CPU 性能,且构建任务不依赖外网下载大文件,自建 CI 的响应速度通常更快,因为省去了排队和网络延迟,但如果构建需要频繁拉取外部依赖,且云主机带宽较小,可能会比托管服务稍慢,可以通过优化镜像层级和利用缓存来缩小差距。

Q3: Gitea 和 GitLab 在轻量方案中怎么选?

Gitea 更轻量,资源占用只有 GitLab 的十分之一左右,适合小团队和低配置云主机,GitLab 功能更全面,支持内置 CI、Registry、Wiki 等,但至少需要 2 核 4G 才能流畅运行,且升级和维护成本更高,如果只需要基础的代码托管和 CI 流水线,Gitea + Drone 是更经济的组合。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱