How Drone CI Transforms Scalable Continuous Delivery for Modern Software Teams
Building a successful software company hinges on delivering valuable software quickly, and this article explains how we adopted Drone CI as the core of our continuous delivery pipeline—detailing its open‑source nature, Docker‑based architecture, service support, plugin ecosystem, testing integration, and artifact management.
Creating a successful software company requires delivering valuable software quickly. To ensure high‑speed service we rely on a robust Continuous Delivery (CD) process supported by a solid Continuous Integration (CI) mechanism.
We use Git as the sole source‑code manager, with each project having its own repository. Development branches are used for temporary builds, while the main branch builds production releases.
The question then becomes how to manage Git operations (pull requests, merges) and deploy code in a controlled manner across environments. The answer is a CI/CD tool.
Initially we used GitHub Actions for CI and Ansible/AWX for CD. As our roadmap grew in component count and dependencies, this setup became limited. We needed a solution that could handle multiple libraries and packages efficiently.
Selection
After evaluating tools such as CircleCI, TravisCI, TeamCity, and Bamboo, we chose Drone CI (https://www.drone.io) as the core of our CI/CD pipeline.
Open‑source with a large community
Easy to install and maintain
Docker‑based; everything runs in containers
Native integration with GitHub, GitLab, Bitbucket, and many others
YAML‑based configuration following the “pipeline as code” principle
Scalable with auto‑scaling on major cloud providers
Rich ecosystem of community‑maintained plugins; custom plugins are easy to develop
Built‑in secret management (with optional external systems)
Drone Basics
Drone triggers on any Git repository action via webhooks. If a pipeline is defined (e.g., a .drone.yml file at the repo root), Drone parses it and executes the defined steps based on triggers such as branch name and event type.
Each step is described with a simple syntax, for example using the maven:3.6.3-jdk-11 image to run mvn clean and mvn install. The steps share a workspace (e.g., /drone/src) so artifacts from one step can be used in later steps.
Drone Services
Drone supports defining services (e.g., Redis, Postgres) that run alongside pipeline steps using Docker‑in‑Docker. The platform automatically starts the required service container and terminates it after the pipeline finishes.
Drone Plugins
A Drone plugin is simply a container that runs code. While Go is the preferred language, any language can be used. Custom plugins can be published to a registry and referenced in the pipeline.
Testing and Test Reports
We add test steps for unit, integration, Cypress, Postman, etc., each running in its own container. To collect and view test results we use the open‑source Allure Docker Service , which provides an API layer and a web UI for browsing reports.
Run tests in a container and write results to a shared filesystem
Use a custom Drone plugin to send the results to the Allure service via its API
For Cypress, one step runs the tests and stores results in /drone/src/cypress-results/allure, and a second step uploads them to the Allure service.
Artifacts
The final CI pipeline should produce artifacts usable in any environment (staging, pre‑prod, prod). Our platform stores Docker images in ECR and uses Nexus OSS to manage npm packages and Java libraries. Drone can create these artifacts and push them to the appropriate repositories.
In summary, we chose Drone as our CD engine because it integrates seamlessly with our existing tools, offers Docker‑native pipelines, supports services and plugins, and enables reliable artifact generation and test reporting for our engineering teams.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Open Source Linux
Focused on sharing Linux/Unix content, covering fundamentals, system development, network programming, automation/operations, cloud computing, and related professional knowledge.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
