Git Product home page Git Product logo

drone's Introduction

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.

Contributing

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

steps:
- 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: index.docker.io

- 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 <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

drone's People

Contributors

bradrydzewski avatar eoinmcafee00 avatar kzaitsev avatar josmo avatar fudanchii avatar tboerger avatar appleboy avatar donny-dont avatar techknowlogick avatar floatdrop avatar marko-gacesa avatar benschumacher avatar oliveiradan avatar kvigen avatar scottferg avatar ulrichschreiner avatar lucretius avatar mnutt avatar tonglil avatar letusfly85 avatar andy-g avatar jmccann avatar strk avatar praxist avatar vaijab avatar epipho avatar bsauvajon avatar xuyang2 avatar yosssi avatar sivel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.