Skip to content
This repository has been archived by the owner on Mar 19, 2024. It is now read-only.

keithdadkins/drone-deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status license release

drone-deploy

A standalone Drone CI deployment tool for AWS.

STATUS: This project is not actively maintained and is not ready for any type of production use.

drone-deploy is a (MacOS/Linux) command line application used for spinning up Drone CI servers on AWS. If you are an admin looking for a quick way to deploy and manage one or more drone servers, are comfortable with the cli, and have an AWS account with Route53 domain, then this may be useful to you.

See it in action

TODO

Overview

In short, drone-deploy:

  • Builds an Amazon Machine Image (AMI) based on the latest Ubuntu 18.04 LTS server with Docker, Compose, and Drone.
  • Configures a web proxy (Caddy) with automatic TLS certificates for your custom domain using Let's Encrypt.
  • Creates all the necessary AWS resources such as S3, IAM roles and policies, Route53 entries, etc.
  • Deployment settings such as users, firewall rules, and server configurations, can be easily modified with a simple config.yaml file.
  • Everything else can be customized by editing the various Packer, Terraform, and scripts located in the /templates directory.

I originally wrote this tool for a client so we could research and explore Drone - an inexpensive and easy way to self-host a cross-platform distributed CI/CD system. Basically, it's an altertative to Jenkins, Travis, or similar that uses docker containers as build steps. Pretty neat.

Cost is cheap. For example, running drone-deploy.keithdadkins.me costs around $5 - $10 a month (US) on a t2.micro instance. I use a few Mac and PC's around my office as build agents, but anything running docker can become a build agent so it's trivial to add more agents from anywhere. If you need to build outside of the docker imposed linux platform, non-docker agents are available as well (MacOS, Windows, Android, etc).

Requirements

Requirements for running drone-deploy from release

Requirements for building, running, developing drone-deploy from source

Docs

DOC Location
User Guide docs/drone-deploy user guide
Developer Guide docs/drone-deploy developer guide