Woodpecker CI:Drone 社区分支演化的容器原生 CI 引擎
Woodpecker 是 Drone CI 的社区分支,每个流水线步骤跑在容器里,SQLite 起步,服务端空闲约 100MB 内存,配置即代码。
项目资料
GitHub Ecosystem- 许可证
- 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 把流水线跑在自己的机器上。