Need help with drone?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

24.0K Stars 2.4K Forks Other 3.9K Commits 51 Opened issues


Drone is a Container-Native, Continuous Delivery Platform

Services available


Need anything else?

Contributors list


Welcome to the Drone codebase, we are thrilled to have you here!

What is Drone?

Drone is a continuous delivery system built on container technology. Drone uses a simple YAML build file, to define and execute build pipelines inside Docker containers.

Table of Contents


You can visit us at Discourse as well as our Slack.


We encourage you to contribute to Drone! whether thats joining in on the community slack or discourse, or contributing pull requests / documentation changes or raising issues.

Code of Conduct

Drone follows the CNCF Code of Conduct.

Setup Documentation

This section of the documentation will help you install and configure the Drone Server and one or many Runners. A runner is a standalone daemon that polls the server for pending pipelines to execute.

Usage Documentation

Our documentation can help you get started with the different types of pipelines/builds. There are different runners / plugins / extensions designed for different use cases to help make an efficient and simple build pipeline

Plugin Index

Plugins are used in build steps to perform actions, eg send a message to slack or push a container to a registry. We have an extensive list of community plugins to customize your build pipeline, you can find those here.

build file.

This build file contains a single pipeline (you can have multiple pipelines too) that builds a go application. The front end with npm. Publishes the docker container to a registry and announces the results to a slack room.

name: default

kind: pipeline type: docker


  • name: backend image: golang commands:

    • go get
    • go build
    • go test
  • name: frontend image: node:6 commands:

    • npm install
    • npm test
  • name: publish image: plugins/docker settings: repo: octocat/hello-world tags: [ 1, 1.1, latest ] registry:

  • name: notify image: plugins/slack settings: channel: developers username: drone

Documentation and Other Links

Building from source

We have two versions available: the Enterprise Edition and the Community Edition

Release procedure

Run the changelog generator.

docker run -it --rm -v "$(pwd)":/usr/local/src/your-app githubchangeloggenerator/github-changelog-generator -u drone -p drone -t 

You can generate a token by logging into your GitHub account and going to Settings -> Personal access tokens.

Next we tag the PR's with the fixes or enhancements labels. If the PR does not fufil the requirements, do not add a label.

Before moving on make sure to update the version file

version/version.go && version/version_test.go

Run the changelog generator again with the future version according to semver.

docker run -it --rm -v "$(pwd)":/usr/local/src/your-app githubchangeloggenerator/github-changelog-generator -u drone -p drone -t  --future-release v1.0.0

Create your pull request for the release. Get it merged then tag the release.

⬆ Back to Top

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.