This is a test fork of https://github.com/woodpecker-ci/woodpecker Mainly for updated the documentation, compilation on armv8, & how filters work. See upstream for details https://woodpecker.slowb.ro
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Anbraten 0e867e2010
fix deb, rpm releases (#465)
7 months ago
.github Add plugin marketplace (for official plugins) (#451) 7 months ago
.vscode update launch config (#359) 8 months ago
.woodpecker Release deb, rpm bundles (#405) 7 months ago
agent Move entirely to zerolog (#426) 8 months ago
charts Release Helm charts (#302) 8 months ago
cli Add log level API (#444) 7 months ago
cmd More logging and refactor (#457) 7 months ago
docker Release cli images (#404) 8 months ago
docs Release deb, rpm bundles (#405) 7 months ago
nfpm fix deb, rpm releases (#465) 7 months ago
pipeline Switch default git plugin (#449) 8 months ago
server More logging and refactor (#457) 7 months ago
shared Move entirely to zerolog (#426) 8 months ago
vendor Move entirely to zerolog (#426) 8 months ago
version Version is now a string coming from ldlags and git tags 3 years ago
web Fix various typos (#416) 8 months ago
woodpecker-go Add log level API (#444) 7 months ago
.changelog.yml Changelog for v0.14.1 (#334) (#340) 8 months ago
.editorconfig Enforce code format (#228) 11 months ago
.gitignore Improve release (#400) 8 months ago
CHANGELOG.md Add changelog for v0.14.2 (#462) 7 months ago
CONTRIBUTING.md Community Guide (#296) 9 months ago
LICENSE Optimize license files (#355) 8 months ago
Makefile fix deb, rpm releases (#465) 7 months ago
README.md Update links to woodpecker-ci.org (#445) 8 months ago
SECURITY.md Create SECURITY.md (#396) 8 months ago
docker-compose.example.yml Clean up config environment variables for server and agent (#218) 8 months ago
go.mod Move entirely to zerolog (#426) 8 months ago
go.sum Add Zerolint (#441) 8 months ago
tools.go Add Zerolint (#441) 8 months ago

README.md

Woodpecker



Woodpecker

Woodpecker is a community fork of the Drone CI system.

woodpecker

Support

Please consider to donate and become a backer. 🙏 [Become a backer]

Usage

.woodpecker.yml

  • Place your pipeline in a file named .woodpecker.yml in your repository
  • Pipeline steps can be named as you like
  • Run any command in the commands section
# .woodpecker.yml
pipeline:
  build:
    image: debian
    commands:
      - echo "This is the build step"
  a-test-step:
    image: debian
    commands:
      - echo "Testing.."

Build steps are containers

  • Define any Docker image as context
  • Install the needed tools in custom Docker images, use them as context
 pipeline:
   build:
-    image: debian
+    image: mycompany/image-with-awscli
     commands:
       - aws help

File changes are incremental

  • Woodpecker clones the source code in the beginning pipeline
  • Changes to files are persisted through steps as the same volume is mounted to all steps
# .woodpecker.yml
pipeline:
  build:
    image: debian
    commands:
      - touch myfile
  a-test-step:
    image: debian
    commands:
      - cat myfile

Plugins are straightforward

  • If you copy the same shell script from project to project
  • Pack it into a plugin instead
  • And make the yaml declarative
  • Plugins are Docker images with your script as an entrypoint
# Dockerfile
FROM laszlocloud/kubectl
COPY deploy /usr/local/deploy
ENTRYPOINT ["/usr/local/deploy"]
# deploy
kubectl apply -f $PLUGIN_TEMPLATE
# .woodpecker.yml
pipeline:
  deploy-to-k8s:
    image: laszlocloud/my-k8s-plugin
    template: config/k8s/service.yml

Documentation

https://woodpecker-ci.org/

Who uses Woodpecker?

Currently, I know of one organization using Woodpecker. With 50+ users, 130+ repos and more than 1100 builds a week.

Leave a comment if you're using it.

Contribution

See Contributing Guide

License

Woodpecker is Apache 2.0 licensed with the source files in this repository having a header indicating which license they are under and what copyrights apply.

Files under the docs/ folder are licensed under Creative Commons Attribution-ShareAlike 4.0 International Public License.