Go to file
Andreas Neue 8ad9a3dd6f target specific pre- and post-deploy scripts 2022-10-06 10:25:40 +02:00
LICENSE added LICENSE 2022-09-20 19:49:21 +02:00
Makefile target specific pre- and post-deploy scripts 2022-10-06 10:25:40 +02:00
README.md deploy type copy 2022-09-29 10:25:43 +02:00
copy.mk add pre- and post-local 2022-10-05 16:02:54 +02:00
cron.mk added cron.mk 2022-07-08 19:46:22 +02:00
docker.mk deploy type copy 2022-09-29 10:25:43 +02:00
k8s.mk added k8s.mk 2022-07-08 19:50:07 +02:00

README.md

make-deploy

A simple Makefile based deployment system.

Installation

Clone make-deploy as a submodule into your repository:

$ git submodule add https://git.dnix.de/an/make-deploy

Create a symlink to the Makefile:

$ ln -s make-deploy/Makefile .

Create config.mk (for common config options) and secrets.mk (for sensitive information, should be git-crypted) in your project.

Example config.mk:

DEPLOY_NAME = my-project
DEPLOY_PATH = /srv
DEPLOY_TYPE = compose
DEPLOY_HOSTS = server01.example.com server02.example.com

DOCKER_IMAGE = dr.example.com/my-project:latest
DOCKER_LOGIN = 1
DOCKER_REGISTRY = dr.example.com

SSH_USER = ci

Example secrets.mk:

DOCKER_USER = root
DOCKER_PASS = secret1234

Usage

Start the deployment process

make deploy

Create docker contexts for the target hosts

make create-docker-contexts

Update make-deploy submodule in your project

make self-update

Available options for DEPLOY_TYPE

copy, compose, swarm, k8s (TBD), helm (TBD), cron (TBD)

copy

Just copy the repo to the remote location(s). Put additional logic into pre- and post-deploy.sh.

compose

Docker Compose deployment.

swarm

Docker Swarm deployment.

k8s, helm, cron

To be implemented.