# make-deploy A simple Makefile based deployment system. make-deploy was initially hosted at https://git.dnix.de/an/make-deploy. Since it has become heavily used at chefkoch.de for system deployments, and lots of code is committed there, we moved the repo to https://git.chefkoch.net/pub/make-deploy. A mirror still exists at https://git.dnix.de/mirror/make-deploy. make-deploy is licensed under the terms of the MIT-License. See [LICENSE](LICENSE) for info. ## Installation Clone make-deploy as a submodule into your repository: $ git submodule add https://git.chefkoch.net/pub/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, 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.