Woodpecker is a community fork of the Drone CI system.
Go to file
Paweł Bogusławski 68dbd488a9
Using configured server URL instead of obtained from request (#175)
Woodpecker should use configured server URL when creating self
URL-s for VCS UI and not depend on URL read from request. In
case of internal calls like answers for webhooks from Gitea
on backend, address in URL may be internal and this causes
Gitea to display CI status for commit with intenal URL
to woodpecker not external one.
2021-06-28 19:28:18 +02:00
.github Removing gha builds 2021-02-19 09:28:39 +01:00
.vscode Enforce code format (#228) 2021-06-22 12:34:35 +02:00
charts Switch in docs to new docker hub image repo (#227) 2021-06-18 20:48:22 +02:00
cli Enforce code format (#228) 2021-06-22 12:34:35 +02:00
cmd Enforce code format (#228) 2021-06-22 12:34:35 +02:00
cncd Enable go vet for ci (#230) 2021-06-22 13:26:37 +02:00
docs Switch in docs to new docker hub image repo (#227) 2021-06-18 20:48:22 +02:00
drone-go Relaced laszlocph/woodpecker with woodpecker-ci/woodpecker 2021-05-25 14:08:27 +02:00
model Enforce code format (#228) 2021-06-22 12:34:35 +02:00
plugins Relaced laszlocph/woodpecker with woodpecker-ci/woodpecker 2021-05-25 14:08:27 +02:00
remote Enable go vet for ci (#230) 2021-06-22 13:26:37 +02:00
router Enforce code format (#228) 2021-06-22 12:34:35 +02:00
server Using configured server URL instead of obtained from request (#175) 2021-06-28 19:28:18 +02:00
shared Just fixed format with go fmt ./... 2018-03-21 14:02:17 +01:00
store Enforce code format (#228) 2021-06-22 12:34:35 +02:00
version Version is now a string coming from ldlags and git tags 2019-11-12 21:10:16 +01:00
web Merge pull request #205 from alexef/filter-main-branch 2021-05-27 16:10:21 +02:00
.dockerignore Building OSS 2019-04-05 10:17:27 +02:00
.drone.yml Enable go vet for ci (#230) 2021-06-22 13:26:37 +02:00
.editorconfig Enforce code format (#228) 2021-06-22 12:34:35 +02:00
.gitignore Enforce code format (#228) 2021-06-22 12:34:35 +02:00
BUILDING Further org move 2021-05-25 14:15:22 +02:00
docker-compose.example.yml Enforce code format (#228) 2021-06-22 12:34:35 +02:00
Dockerfile Switch in docs to new docker hub image repo (#227) 2021-06-18 20:48:22 +02:00
Dockerfile.agent Switch in docs to new docker hub image repo (#227) 2021-06-18 20:48:22 +02: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 Enforce code format (#228) 2021-06-22 12:34:35 +02:00
go.sum Enforce code format (#228) 2021-06-22 12:34:35 +02:00
LICENSE Wrap lines in LICENSE (#214) 2021-05-31 13:47:18 +02:00
Makefile Enable go vet for ci (#230) 2021-06-22 13:26:37 +02:00
README.md Enforce code format (#228) 2021-06-22 12:34:35 +02: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 https://discord.gg/fcMQqSMXJy

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/woodpecker-ci/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.