mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-12-23 08:56:29 +00:00
Woodpecker is a community fork of the Drone CI system.
68dbd488a9
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. |
||
---|---|---|
.github | ||
.vscode | ||
charts | ||
cli | ||
cmd | ||
cncd | ||
docs | ||
drone-go | ||
model | ||
plugins | ||
remote | ||
router | ||
server | ||
shared | ||
store | ||
version | ||
web | ||
.dockerignore | ||
.drone.yml | ||
.editorconfig | ||
.gitignore | ||
BUILDING | ||
docker-compose.example.yml | ||
Dockerfile | ||
Dockerfile.agent | ||
Dockerfile.agent.alpine | ||
Dockerfile.alpine | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
README.md |
Woodpecker
A fork of the Drone CI system.
- Based on the v0.8 code tree
- Fully Apache 2.0, no tiers
.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.