Favicon of Woodpecker

Woodpecker

Run powerful CI/CD pipelines inside Docker containers. This free, open-source engine supports multiple workflows and custom plugins for ultimate extensibility.

Woodpecker is a straightforward and effective CI/CD engine designed for extensibility. As a completely free and open-source project, it offers a community-driven solution for automating your software development lifecycle.

Its core strength lies in its use of Docker containers to execute every step of your pipeline. This container-native approach ensures consistent and isolated build environments. If the standard Docker image capabilities are not enough, you can create custom plugins to add specialized features and integrations to your pipelines.

The system also supports the creation of multiple, interdependent workflows for a single project, allowing you to build complex and sophisticated CI/CD processes. Key features include:

  • Container-based pipelines: Executes all steps in isolated Docker containers.
  • Extensible with plugins: Develop custom plugins to enhance functionality.
  • Multi-workflow support: Define several workflows that can depend on each other.
  • Open-source and free: No licensing costs and the ability to contribute to the project.

Directory Structure

woodpecker
woodpecker-server-data
.env
docker-compose.yml

docker-compose.yml

services:
  woodpecker-server:
    image: woodpeckerci/woodpecker-server:latest
    container_name: woodpecker-server
    ports:
      - 8000:8000
      - 9000:9000
    volumes:
      - ./woodpecker-server-data:/var/lib/woodpecker/
    environment:
      - WOODPECKER_HOST=http://localhost:8000
      - WOODPECKER_GITHUB=true
      - WOODPECKER_GITHUB_CLIENT=${WOODPECKER_GITHUB_CLIENT}
      - WOODPECKER_GITHUB_SECRET=${WOODPECKER_GITHUB_SECRET}
      - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET}
    restart: always

  woodpecker-agent:
    image: woodpeckerci/woodpecker-agent:latest
    container_name: woodpecker-agent
    restart: always
    depends_on:
      - woodpecker-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WOODPECKER_SERVER=woodpecker-server:9000
      - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET}

.env

WOODPECKER_GITHUB_CLIENT=your_github_oauth_client_id
WOODPECKER_GITHUB_SECRET=your_github_oauth_client_secret
WOODPECKER_AGENT_SECRET=generate_a_random_secret_string_here
Categories:

Share:

Ad
Favicon

 

  
 

Similar to Woodpecker

Favicon

 

  
  
Favicon

 

  
  
Favicon