Drone is a Container-Native, Continuous Delivery Platform
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
zc bafaa40ded
support custom pipeline message (#3294)
Signed-off-by: zc <zc2638@qq.com>
1 month ago
.github chore(issue_template): update links to discourse 12 months ago
cmd/drone-server Make buffer for the cleanup reaper configurable (#3308) 2 months ago
core Fix comment errors (#3302) 1 month ago
docker support time zone (#3241) 9 months ago
handler support custom pipeline message (#3294) 1 month ago
livelog Rename files with camelCase name to use snake_case convention 2 years ago
logger Add `authtype` to logging middleware (#3310) 2 months ago
metric Datadog add the tag of 'remote:gitee' 1 year ago
mock (DRON-392) cascade deletes on purge (#3243) 9 months ago
operator refactor create / find / delete end points for cards (#3159) 2 years ago
plugin Make starlark size limit configurable (#3291) 6 months ago
pubsub Rename files with camelCase name to use snake_case convention 2 years ago
scheduler (feat) drone h/a: wrapped scheduler's signal func with redis mutex 2 years ago
scripts (feat) adding depends_on, image and detached fields to step 2 years ago
server Merge branch 'master' into master 2 years ago
service Make buffer for the cleanup reaper configurable (#3308) 2 months ago
session (fix) remove unused jwt-go library 2 years ago
store store/card: fix dropped error (#3300) 4 months ago
trigger (DRON-418) send webhook and set status for failed builds (#3266) 8 months ago
version release prep for v2.17.0 (#3316) 1 month ago
web squash and merge local branch 4 years ago
.dockerignore update yaml for s3 upload 7 years ago
.drone.yml (maint) move to use the arm64 pool (#3296) 6 months ago
.github_changelog_generator release prep v2.12.0 1 year ago
.gitignore event-stream supports timeout (#3125) 2 years ago
BUILDING remove deprecated steps 2 years ago
BUILDING_OSS fix OSS build for v1.4.0. 4 years ago
CHANGELOG.md release prep for v2.17.0 (#3316) 1 month ago
HISTORY.md release 2.0.5 2 years ago
LICENSE fixing URL 1 year ago
NOTICE update notice [ci skip] 4 years ago
Taskfile.yml card api and db work to support new cards feature 2 years ago
go.mod bump drone-ui to 2.11.1 (#3315) 2 months ago
go.sum bump drone-ui to 2.11.1 (#3315) 2 months ago



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

Community and Support

Harness Community Slack - Join the #drone slack channel to connect with our engineers and other users running Drone CI.
Harness Community Forum - Ask questions, find answers, and help other users.
Report A Bug - Find a bug? Please report in our forum under Drone Bugs. Please provide screenshots and steps to reproduce.
Events - Keep up to date with Drone events and check out previous events here.


We encourage you to contribute to Drone! Whether that's 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.

Example .drone.yml 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
    - go get
    - go build
    - go test

- name: frontend
  image: node:6
    - npm install
    - npm test

- name: publish
  image: plugins/docker
    repo: octocat/hello-world
    tags: [ 1, 1.1, latest ]
    registry: index.docker.io

- name: notify
  image: plugins/slack
    channel: developers
    username: drone

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 <secret github token>

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 fulfill 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 harness -p drone -t <secret token> --future-release v1.0.0

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

⬆ Back to Top