Woodpecker is a community fork of the Drone CI system.
Find a file
Pawel Boguslawski e96a17dc9e Incomplete Gitea repository list fixed
Woodpecker may display incomplete list of Gitea
repositores user has access to because Gitea forces
paginated repo list reading. This mod fixes it.

Related: https://gitea.com/gitea/go-sdk/issues/507
Author-Change-Id: IB#1107754
2021-03-29 13:44:47 +02:00
.github Removing gha builds 2021-02-19 09:28:39 +01:00
.vscode Version is now a string coming from ldlags and git tags 2019-11-12 21:10:16 +01:00
build Create Makefile and targets to build project 2019-09-14 14:20:16 +02:00
cli CLI build and release 2021-02-19 09:28:39 +01:00
cmd Go 1.16, go fmt, go modules update 2021-02-19 09:43:03 +01:00
cncd feat: mask secrets 2020-11-19 17:52:07 +08:00
docs Found another typo 2021-03-02 02:06:57 +01:00
drone-go Project is renamed to Woodpecker 2019-08-27 13:07:19 +02:00
model Go 1.16, go fmt, go modules update 2021-02-19 09:43:03 +01:00
plugins Go 1.16, go fmt, go modules update 2021-02-19 09:43:03 +01:00
remote Incomplete Gitea repository list fixed 2021-03-29 13:44:47 +02:00
router Go 1.16, go fmt, go modules update 2021-02-19 09:43:03 +01:00
server Go 1.16, go fmt, go modules update 2021-02-19 09:43:03 +01:00
shared Just fixed format with go fmt ./... 2018-03-21 14:02:17 +01:00
store Upgrade dependencies 2020-05-18 16:41:15 +01:00
version Version is now a string coming from ldlags and git tags 2019-11-12 21:10:16 +01:00
web Fix lint 2021-03-19 15:44:16 +01:00
.cli.sh CLI build and release 2021-02-19 09:28:39 +01:00
.dockerignore Building OSS 2019-04-05 10:17:27 +02:00
.drone.sh ARM is not widely used, making the project leaner 2019-11-13 11:26:23 +01:00
.drone.yml Fixing release path 2021-02-19 11:17:46 +01:00
.editorconfig Added .editorconfig 2019-11-15 10:42:57 +01:00
.gitignore Add missing requirements.txt 2019-11-13 12:23:16 +01:00
BUILDING Create Makefile and targets to build project 2019-09-14 14:20:16 +02:00
docker-compose.yml Project is renamed to Woodpecker 2019-08-27 13:07:19 +02:00
Dockerfile update base image to drone/ca-certs 2017-09-11 16:03:11 -07:00
Dockerfile.agent add alpine images 2017-09-27 19:01:52 -07:00
Dockerfile.agent.alpine Alpine upgrade 2019-11-14 11:45:43 +01:00
Dockerfile.alpine Alpine upgrade 2019-11-14 11:45:43 +01:00
go.mod Go 1.16, go fmt, go modules update 2021-02-19 09:43:03 +01:00
go.sum Fixing tests 2021-02-19 10:17:29 +01:00
LICENSE Project is renamed to Woodpecker 2019-08-27 13:07:19 +02:00
Makefile Fixing tests 2021-02-19 10:17:29 +01:00
README.md Less ideas about the goals today 2021-03-08 08:41:58 +01:00

Woodpecker

A fork of the Drone CI system.

  • Based on the v0.8 code tree
  • Fully Apache 2.0, no tiers

Go Report Card License

woodpecker

.drone.yml

  • Place your pipeline in a file named .drone.yml in your repository
  • Pipeline steps can be named as you like
  • Run any command in the commands section
# .drone.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
# .drone.yml
pipeline:
  build:
    image: debian
    commands:
      - touch myfile
  a-test-step:
    image: debian
    commands:
      - cat myfile

Plugins are straighforward

  • 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
# .drone.yml
pipeline:
  deploy-to-k8s:
    image: laszlocloud/my-k8s-plugin
    template: config/k8s/service.yml

Documentation

https://woodpecker.laszlo.cloud

Who uses Woodpecker

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

Leave a note here if you are using it: https://github.com/laszlocph/woodpecker/issues/122

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 is licensed under Creative Commons Attribution-ShareAlike 4.0 International Public License. It is a derivative work of the https://github.com/drone/docs git repository.