1. Home
  2. /
  3. Drone-ci
  4. /
  5. Simple Drone CI Pipeline

Simple Drone CI Pipeline - Drone-ci Typing CST Test

Loading…

Simple Drone CI Pipeline — Drone-ci Code

A simple Drone CI pipeline to build and test a Node.js project.

# .drone.yml
kind: pipeline
name: default

steps:
	- name: install
		image: node:16
		commands:
		- npm install
	- name: build
		image: node:16
		commands:
		- npm run build
	- name: test
		image: node:16
		commands:
		- npm test

Drone-ci Language Guide

Drone CI is a modern, container-native continuous integration and delivery platform that defines pipelines as code in a `.drone.yml` file. It runs each pipeline step inside isolated Docker containers, providing fast, reproducible, and scalable builds.

Primary Use Cases

  • ▸Automate build, test, and deployment workflows
  • ▸Implement pipelines as code with versioning
  • ▸Run pipelines in isolated, containerized steps
  • ▸Deploy containerized applications to cloud or Kubernetes
  • ▸Enable event-driven CI/CD with SCM webhooks

Notable Features

  • ▸Pipeline as code via `.drone.yml`
  • ▸Containerized build steps for reproducibility
  • ▸Parallel and sequential execution support
  • ▸Event-based triggers (push, pull request, tag, cron)
  • ▸Extensible via plugins for notifications, cloud, and deployment

Origin & Creator

Developed by Brad Rydzewski and the Drone.io team to provide a lightweight, container-first CI/CD solution.

Industrial Note

Drone CI is ideal for DevOps teams leveraging Docker and Kubernetes, enabling efficient, reproducible pipelines in microservices and cloud-native environments.

Quick Explain

  • ▸Drone automates building, testing, and deploying applications using containerized steps.
  • ▸Pipelines are defined in YAML and versioned alongside source code in SCM.
  • ▸Supports parallel and sequential execution, conditional steps, and event-based triggers.
  • ▸Container-native design isolates each pipeline step for reproducibility and security.
  • ▸Integrates with GitHub, GitLab, Bitbucket, and cloud platforms for end-to-end automation.

Core Features

  • ▸Pipeline - full workflow definition in YAML
  • ▸Step - individual build/test/deploy containerized task
  • ▸Service - sidecar containers available to steps
  • ▸Trigger - events that start the pipeline
  • ▸Secrets - securely injected into steps at runtime

Learning Path

  • ▸Learn Drone basics and server setup
  • ▸Understand YAML pipeline syntax
  • ▸Practice building containerized steps
  • ▸Add parallelism, triggers, and secrets
  • ▸Integrate pipelines with Docker/Kubernetes and cloud deployments

Practical Examples

  • ▸Build and test a Node.js application
  • ▸Run Python tests in containerized steps
  • ▸Deploy Docker images to Kubernetes
  • ▸Send Slack notifications on pipeline completion
  • ▸Run multi-branch pipelines for feature, release, and master

Comparisons

  • ▸Drone CI vs Jenkins: Drone is container-native, lightweight, easier to maintain; Jenkins is plugin-heavy with GUI options
  • ▸Drone CI vs GitHub Actions: Both YAML-based, Drone is self-hosted and container-first, GitHub Actions is SaaS
  • ▸Drone CI vs GitLab CI: Similar YAML pipelines; Drone emphasizes Docker isolation
  • ▸Drone CI vs Travis CI: Drone is faster, containerized, and easier to scale self-hosted
  • ▸Drone CI vs CircleCI: Drone focuses on simplicity and containers, CircleCI adds SaaS convenience

Strengths

  • ▸Container-native builds ensure isolation and consistency
  • ▸Lightweight and easy to self-host or run in the cloud
  • ▸Pipelines versioned with code for auditability
  • ▸Parallel execution reduces pipeline time
  • ▸Extensive plugin ecosystem for deployment and notifications

Limitations

  • ▸Requires Docker for pipeline execution
  • ▸Advanced workflows may require complex YAML
  • ▸Less GUI-driven flexibility compared to Jenkins
  • ▸Scaling large multi-tenant pipelines needs careful resource planning
  • ▸Fewer built-in integrations than some enterprise CI/CD tools

When NOT to Use

  • ▸Projects without Docker or container requirements
  • ▸Small teams preferring SaaS CI/CD
  • ▸Non-containerized legacy applications
  • ▸Projects requiring heavy GUI-based job management
  • ▸Multi-tenant enterprise pipelines requiring advanced RBAC features

Cheat Sheet

  • ▸drone lint .drone.yml
  • ▸drone exec
  • ▸drone build <repo>
  • ▸drone info <repo>
  • ▸drone secret add <repo> <name> <value>

FAQ

  • ▸Can Drone CI pipelines run without Docker? -> No, Docker is required for step execution.
  • ▸Can pipelines run on multiple agents? -> Yes, via Drone agents.
  • ▸Is YAML mandatory? -> Yes, `.drone.yml` defines pipelines.
  • ▸Can Drone CI deploy to Kubernetes? -> Yes, via Docker steps or plugins.
  • ▸Does Drone CI support parallel execution? -> Yes, by defining multiple steps concurrently.

30-Day Skill Plan

  • ▸Week 1: Simple build/test pipeline
  • ▸Week 2: Multi-step pipelines with Docker
  • ▸Week 3: Add notifications and conditional steps
  • ▸Week 4: Multi-branch pipelines with secrets
  • ▸Week 5: Deployment pipelines and scaling agents

Final Summary

  • ▸Drone CI provides lightweight, container-native CI/CD pipelines.
  • ▸Supports reproducible builds using isolated Docker containers.
  • ▸Pipelines are defined as code with `.drone.yml`.
  • ▸Enables parallel execution, event triggers, and plugin integration.
  • ▸Ideal for microservices, cloud-native, and containerized workflows.

Project Structure

  • ▸.drone.yml - pipeline definition
  • ▸Application source code
  • ▸Dockerfiles for containerized builds
  • ▸Scripts referenced in pipeline steps
  • ▸Configuration files and secrets management

Monetization

  • ▸Managed Drone CI hosting
  • ▸Enterprise CI/CD consulting
  • ▸Training and workshops for Drone pipelines
  • ▸Pipeline automation services
  • ▸Monitoring and analytics solutions

Productivity Tips

  • ▸Use reusable plugins and steps
  • ▸Cache dependencies for faster builds
  • ▸Parallelize independent steps
  • ▸Use secrets and environment variables securely
  • ▸Version pipeline alongside application code

Basic Concepts

  • ▸Drone YAML - defines the pipeline
  • ▸Step - a single containerized task
  • ▸Service - sidecar container for steps
  • ▸Trigger - events that invoke pipelines
  • ▸Secret - sensitive data injected securely

Official Docs

  • ▸Drone CI documentation
  • ▸Drone YAML reference
  • ▸Drone plugin repository
  • ▸Drone CLI documentation

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher