开发工具#部署

Woodpecker CI:Drone 社区分支演化的容器原生 CI 引擎

Woodpecker 是 Drone CI 的社区分支,每个流水线步骤跑在容器里,SQLite 起步,服务端空闲约 100MB 内存,配置即代码。

项目资料

GitHub Ecosystem
仓库地址github.com/woodpecker-ci/woodpecker
许可证
Apache-2.0
主语言
Go
星标
8,005
核查时间
2026-10-15

以上快照资料以核查当日为准,可能随版本或运营策略变化。

给一个小团队接「配一条 CI/CD」的活,交付物往往不只是几条流水线,还得考虑跑在哪里、谁来维护、出事谁管。公众号「寻微一隅」10 月 15 日清单把 Woodpecker CI 放在「平台建设层」:它是 Drone CI 的社区开源分支,Go 写的容器原生 CI 引擎(Apache-2.0,截至 2026-10-15 约 8.0k star),每个流水线步骤都在独立容器里执行,配置和仓库代码放在一起。

核心功能

  • 容器原生:流水线每一步都在容器里跑,镜像可以自己指定,构建环境不依赖 Runner 机器上装了什么。
  • 资源占用低:官方安装文档给的口径是服务端约 100 MB、Agent 约 30 MB(空闲状态),SQLite 数据库起步,小机器也扛得住。
  • 多数据库后端:SQLite 之外支持 PostgreSQL 与 MySQL,数据层按团队规模选。
  • 多种安装方式:Docker、Docker Compose、Kubernetes 都有官方路径,官方文档按环境给出步骤。
  • 配置即代码:.woodpecker.yml 随仓库走,流水线定义和它构建的代码在同一处评审。
  • 工程规范在线:OpenSSF Best Practices 徽章、pre-commit.ci、Codecov 覆盖报告都是仓库首页公开可见的。

典型使用场景

  • 接了创业公司「Git push 后自动测试部署」单子的开发者:一条 Compose 拉起服务端加 Agent,流水线配置进仓库,交付即完成。
  • 想把 Jenkins 迁走的团队:步骤容器化后「节点上装了什么依赖」这类问题不再出现,迁移成本集中在流水线定义本身。
  • 资源受限的自托管场景:一台小 VPS 或 NAS 就能跑,官方给的 100 MB 口径对轻量部署友好。

快速上手

最小可跑形态是 Docker Compose 同时起服务端和一个 Agent,安装步骤按数据库与代码托管平台在官方安装文档里逐环境列出。装好后在仓库根放 .woodpecker.yml,推送即触发:

steps:
  test:
    image: golang:1.24
    commands:
      - go test ./...

这是最基础的形态; secrets、矩阵构建、多 Agent 注册在官方文档的对应章节。

小结

适合要自托管 CI、又不想背 Jenkins 那种量级运维的团队,以及接 CI/CD 交付单的工程师——把「容器化步骤 + 低占用 + 配置随仓库走」三件事讲清楚,交付就好收尾。不适合已经绑死在某一托管平台全家桶里的团队:迁移要连账号体系、权限和制品库一起搬。Go,Apache-2.0,截至 2026-10-15 是 8005 star、当天仍有推送,项目活跃。

与它同源的 Drone CI 是 Harness 维护的上游商业产品,社区分支与上游的路线差异在选型时值得读一眼;自托管 CI 的另一个常见对照是 Gitea Actions(Gitea 官方 Runner,与代码托管同机部署时最省事)。自托管这条线上,我们此前写过的 Mailflare 是同一思路的另一种交付——把域名邮箱跑在自己的 Cloudflare 账号里,Woodpecker 把流水线跑在自己的机器上。