Skip to content
Search

Drone CI

lastmod 2025-12-12created 2025-12-084 edits

Drone is a continuous integration platform built on Docker and written in Google Go. The Drone project grew to improve on the problems of currently available technologies, and it handles the work of setting up the development environment.

Drone offers a simple approach to automated testing and continuous delivery. You just choose a Docker image that fits your purpose, connect it to GitHub, and commit. Drone uses Docker containers to provide isolated testing environments, and gives full control over every project through the stack without the burden of having to manage servers as in the traditional way. The Drone community has 100 contributors and hopes to see the day it is applied to mobile app development and the enterprise.

Architecture

Drone has a very simple client and server-based architecture, it is composed of three things:

  • Drone server
  • Drone agents (called runners)
  • Drone pipeline configuration file (on each git repository)

The following diagram depicts its architecture with more detail:

Drone_CI_-_architecture_diagram.png

Features

The following is a list of the main Drone features:

  • Drone is very lightweight because it is written in Go and all of its components run as Docker containers. Thanks to this, Drone can be easily deployed to various platforms or cloud environments in just a few minutes.
    • By default, each pipeline step runs inside an isolated Docker container that is downloaded automatically at runtime.
    • Drone also has a much lower learning curve than other CI/CD products such as Jenkins.
  • Runners are available for various operating systems and architectures, including Linux amd64, Linux arm/arm64, Windows, and Mac servers.
    • This broad platform support lets a single product be used for a variety of use case scenarios, from traditional cloud deployments to IoT and native Windows or Mac builds.
  • Scalable architecture: Drone provides autoscaling for various cloud providers, launching runners on demand, so developers can cut cloud costs without needing dedicated resources allocated.
  • The solution is offered as an on-premises installation or as SaaS with additional features, so you can choose whichever best fits your needs.
  • Functionality can be extended through plugins and extensions. Plugins add features to pipelines, and extensions apply to the Drone core itself. Plugins can be written in any language and run isolated inside containers, so they are very easy to develop.
  • Pipelines are defined in YAML format with a simple, clear syntax.
  • It offers various database backend options. It uses SQLite by default and works out of the box without any extra configuration, but in production environments it can be used with an external PostgreSQL or MySQL database.
  • And best of all, it is open source!

Cons

  • The Drone server must be reachable over the internet so that the SCM platform can access the Drone server's webhooks.
  • Drone has about 100 plugins, but that is far fewer than the number of plugins available for other products such as Jenkins.
  • The tool only supports Git SCM platforms, but this should not be a problem for modern projects.
  • A Drone server instance can access only one Git SCM platform at a time. If you use multiple platforms, you need to instantiate multiple Drone servers, one per SCM platform.

See also

Favorite site

author Zer0 sitemap