Woodpecker CI is a self-hosted continuous integration and delivery engine with over 6,700 GitHub stars and nearly 8,000 commits. Originally forked from Drone CI after its shift to a proprietary Business Source License, Woodpecker maintained the community-driven, fully open-source approach under Apache-2.0 licensing. It has become the default CI/CD solution for the growing self-hosted Git ecosystem, powering all continuous integration at Codeberg and integrating natively with Gitea and Forgejo — the open-source alternatives to GitHub and GitLab that are rapidly gaining adoption.
Pipeline configuration lives in a .woodpecker.yml file in your repository, using a familiar YAML syntax that defines steps, services, and build matrices. Each step runs in an isolated container, supporting Docker and Kubernetes as execution backends. The engine starts in seconds and idles at approximately 100MB of RAM — a fraction of what Jenkins or GitLab Runner consume. Despite its lightweight footprint, Woodpecker supports essential CI/CD features including multi-pipeline workflows, conditional step execution, encrypted secrets, cron-scheduled builds, matrix builds for testing across environments, and a plugin ecosystem for common tasks like deployment, notifications, and artifact publishing.
The web UI provides build history, real-time log streaming, and repository management through a clean, modern interface. Multi-platform agent support means you can run builds on different architectures — amd64, arm64, or Windows — using dedicated worker nodes. Configuration-as-code is a core principle: everything from pipeline definitions to secret references is versioned alongside your application code. For teams running self-hosted infrastructure with Gitea or Forgejo, Woodpecker CI provides the missing CI/CD piece that completes the stack without external dependencies on GitHub Actions or GitLab CI.