Woodpecker CI — Simple Yet Powerful CI/CD Engine
Woodpecker is a lightweight, container-based CI/CD engine forked from Drone. Simple YAML pipelines, Docker-native execution, and multi-platform support.
Safe staging for this asset
This asset is staged first. The copied prompt tells the agent to inspect the staged files and ask before activating scripts, MCP config, or global config.
npx -y tokrepo@latest install a22e63ee-34d0-11f1-9bc6-00163e2b0d79 --target codexStages files first; activation requires review of the staged README and plan.
What it is
Woodpecker CI is a lightweight, container-based CI/CD engine forked from Drone. Every pipeline step runs in an isolated Docker container, defined in a simple YAML file. It integrates with GitHub, GitLab, Gitea, Forgejo, and Bitbucket.
Woodpecker targets small to mid-size teams and self-hosters who want CI/CD without the complexity of Jenkins or the cost of GitHub Actions minutes.
How it saves time or tokens
Woodpecker pipelines are minimal YAML. A typical build-test-deploy pipeline is 20 lines. There is no plugin marketplace to navigate because any Docker image is a valid pipeline step. Need node:20? Use it directly. Need postgres:16 as a service? Add it as a service block.
Self-hosting Woodpecker on a $5/month VPS gives you unlimited build minutes, compared to GitHub Actions' 2,000 free minutes per month.
How to use
- Deploy Woodpecker server:
docker compose up -dwith the official compose file - Register your Git forge (GitHub, GitLab, Gitea) as an OAuth app
- Activate your repository in the Woodpecker UI
- Add a
.woodpecker.ymlfile to your repository root
Example
# .woodpecker.yml
steps:
- name: build
image: node:20-alpine
commands:
- npm ci
- npm run build
- name: test
image: node:20-alpine
commands:
- npm test
- name: deploy
image: alpine/curl
commands:
- curl -X POST https://deploy.example.com/webhook
when:
branch: main
event: push
services:
- name: database
image: postgres:16
environment:
POSTGRES_DB: test
POSTGRES_PASSWORD: test
Related on TokRepo
- DevOps tools -- CI/CD and infrastructure tools
- Automation tools -- Build automation and workflow tools
Common pitfalls
- Woodpecker uses
.woodpecker.ymlby default, not.drone.yml; migrating from Drone requires renaming and minor syntax adjustments - Agent-server communication requires proper networking; in Docker setups, ensure the agent can reach the server's gRPC port
- Secret management is per-repository in the UI; there is no global secret store without a plugin or external vault
Frequently Asked Questions
Woodpecker is a community fork of Drone created after Drone's acquisition by Harness. Woodpecker remains fully open source (Apache 2.0) and community-maintained. The pipeline syntax is largely compatible, but Woodpecker has diverged with its own plugin ecosystem and UI improvements.
Yes. Woodpecker supports a Kubernetes backend where pipeline steps run as Kubernetes pods instead of Docker containers. This is useful for teams already running Kubernetes clusters and wanting to reuse compute resources.
Yes. Steps without dependencies run in parallel by default. You can control execution order with the depends_on field. Matrix builds are also supported for running the same pipeline across multiple configurations.
Woodpecker integrates with GitHub, GitLab, Gitea, Forgejo, and Bitbucket. Each forge requires an OAuth application for authentication. Gitea and Forgejo are first-class integrations since many Woodpecker users are self-hosters.
Add secrets in the Woodpecker UI under your repository settings. Reference them in YAML using the secrets field on a step. Secrets are injected as environment variables and masked in logs.
Citations (3)
- Woodpecker GitHub— Woodpecker CI is a community fork of Drone CI
- Woodpecker Docs— Woodpecker supports GitHub, GitLab, Gitea, Forgejo, and Bitbucket
- Woodpecker Docs— Container-based CI/CD pipeline execution
Related on TokRepo
Discussion
Related Assets
Dagger — Programmable CI/CD Engine
Run CI/CD pipelines as code — locally, in CI, or in the cloud. Replace YAML with real programming languages. Cacheable, portable, testable. 15.6K+ stars.
Babylon.js — Powerful 3D Game and Rendering Engine
Babylon.js is a powerful, beautiful, simple, open 3D game and rendering engine for the web. WebGL + WebGPU, Playground IDE, Node Material Editor, GUI system, physics, and VR/AR support. Microsoft-backed with enterprise polish.
Concourse — Container-Native CI/CD with Pipelines as Code
Build reliable CI/CD pipelines with Concourse. Every step runs in an isolated container, pipelines are declarative YAML, and the resource model makes dependencies explicit and reproducible.
Dagger — CI/CD Pipelines as Code in Any Language
Run CI/CD pipelines locally and in the cloud with the same code. Write pipelines in TypeScript, Python, or Go instead of YAML. Containerized execution ensures identical results everywhere. 12,000+ stars.