Drone - Open Source Deployment Tool

Drone Free Deployment Tool

Build And Test Software With Open Source Deployment Tool

Automate software building, testing, deployment with self-service Continuous Integration and Continuous Delivery platform based on Go language.

Overview

Software building, testing, and deployment is the most important task for development teams. Software delivery is a continuous job as teams frequently release new versions. The deployment tool enables development teams and individual developers to automate the software delivery process and focus on other important tasks. It is a free and open source deployment tool for automating the software delivery process. It’s based on container technology. The Drone offers two versions such as Enterprise edition, and community edition. Enterprise edition is paid one whereas community edition is free to use. This free software deployment platform supports multiple operating systems. Further, it works with any language and database.

This open source continuous integration tool allows development teams to easily configure pipelines. Each pipeline runs in a container that is isolated and downloaded at runtime. The Drone offers out-of-the-box integration with multiple source code management systems. It supports integration with SCM systems such as GitHub, GitHubEnterprise, Bitbucket, and GitLab. This freeware software deployment tool supports plugins for performing a wide range of tasks. Plugins are like Docker containers and do certain jobs such as deploy code, publish artifacts, send the notification. Developers can write the plugin in any language and publish it as a Docker image. The Drone is written in Go language. This open source deployment tool is released under the Apache License.

System Requirements

Requirements to setup Drone include:

  • Docker
  • GitHub Account

Features

Drone has an excellent feature list and some of them are:

  • Free and open source
  • Isolated Builds
  • Easily Configure Pipelines
  • Supports Popular Source Code Management Systems
  • Support Multiple Operating Systems
  • Supports Plugins
  • Supports Webhooks, Extensions, Autoscaling
  • Self-service Continuous Integration
  • Custom Access Controls
  • Approval Workflows

Installation

Installing using Ubuntu

First, Install the latest version of Docker..

curl -L https://get.docker.com | bash

Add the current user into the docker group.

sudo usermod -aG docker $USER'

Run below command to ensure the docker installation.

docker --version

Create GitHub application by login into your account. Navigate to Settings -> Developer Settings -> oAuth Applications. Click on the New OAuth App button. Fill the form with required information and press Register Application button.

Copy Client ID and Client Secret. You need them in coming steps.

Download the latest available version of Drone.

docker pull drone/drone:1

Execute the below command to create new environment file.

sudo nano /var/drone.env

Copy the following configuration code and paste in editor. Replace values with the actual ones.


DRONE_GITHUB_SERVER=https://github.com
DRONE_GITHUB_CLIENT_ID=xxxxxxxxxxxx
DRONE_GITHUB_CLIENT_SECRET=xxxxxxxxxxxxxx
DRONE_RUNNER_CAPACITY=2
DRONE_SERVER_HOST=http://example.com
DRONE_SERVER_PROTO=http

Run command to start Drone.


docker run \
  --volume=/var/run/docker.sock:/var/run/docker.sock \
  --volume=/var/lib/drone:/data \
  --env-file=/var/drone.env \
  --publish=80:80 \
  --publish=443:443 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone:1

Open the site http://your_server_ip_or_domain.

Explore

You may find the following links relevant:

 English