113 lines
2.5 KiB
Makefile
113 lines
2.5 KiB
Makefile
.PHONY: create_contexts deploy upload pull start stop restart
|
|
|
|
include config.mk
|
|
|
|
self-update:
|
|
@- git submodule update --remote
|
|
|
|
create-contexts:
|
|
@- $(foreach host,$(DEPLOY_HOSTS), \
|
|
docker context create $(host) --description "$(host)" --docker "host=ssh://$(SSH_USER)@$(host)"; \
|
|
)
|
|
|
|
deploy: upload pre-deploy pull start post-deploy
|
|
|
|
pre-deploy: pre-deploy-$(DEPLOY_TYPE)
|
|
|
|
post-deploy: post-deploy-$(DEPLOY_TYPE)
|
|
|
|
pre-deploy-compose: pre-deploy-docker
|
|
|
|
post-deploy-compose: post-deploy-docker
|
|
|
|
pre-deploy-swarm: pre-deploy-docker
|
|
|
|
post-deploy-swarm: post-deploy-docker
|
|
|
|
pre-deploy-docker:
|
|
@- echo "\n### running pre-deploy script"
|
|
@- $(foreach host,$(DEPLOY_HOSTS), \
|
|
ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); sh pre-deploy"; \
|
|
)
|
|
|
|
post-deploy-docker:
|
|
@- echo "\n### running post-deploy script"
|
|
@- $(foreach host,$(DEPLOY_HOSTS), \
|
|
ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); sh post-deploy"; \
|
|
)
|
|
|
|
upload:
|
|
@- echo "\n### uploading files"
|
|
@- $(foreach host,$(DEPLOY_HOSTS), \
|
|
rsync -rav --exclude '*~' --exclude '.git*' . $(SSH_USER)@$(host):$(DEPLOY_PATH)/$(DEPLOY_NAME); \
|
|
)
|
|
|
|
pull: pull-$(DEPLOY_TYPE)
|
|
|
|
pull-compose:
|
|
@- echo "\n### pulling image(s)"
|
|
@- $(foreach ctx,$(DEPLOY_HOSTS), \
|
|
docker context use $(ctx); \
|
|
docker pull $(DOCKER_IMAGE); \
|
|
)
|
|
|
|
pull-swarm:
|
|
|
|
start: start-$(DEPLOY_TYPE)
|
|
|
|
start-compose:
|
|
@- echo "\n### starting service(s)"
|
|
@- $(foreach ctx,$(DEPLOY_HOSTS), \
|
|
docker context use $(ctx); \
|
|
docker-compose up -d; \
|
|
)
|
|
|
|
start-swarm:
|
|
@- echo "\n### starting service(s)"
|
|
@- $(foreach ctx,$(DEPLOY_HOSTS), \
|
|
docker stack deploy -c $(DEPLOY_PATH)/$(DEPLOY_NAME)/stack.yml $(DEPLOY_NAME); \
|
|
)
|
|
|
|
stop: stop-$(DEPLOY_TYPE)
|
|
|
|
stop-compose:
|
|
@- echo "\n### stopping service(s)"
|
|
@- $(foreach ctx,$(DEPLOY_HOSTS), \
|
|
docker context use $(ctx); \
|
|
docker-compose down; \
|
|
)
|
|
|
|
stop-swarm:
|
|
@- echo "\n### stopping service(s)"
|
|
@- $(foreach ctx,$(DEPLOY_HOSTS), \
|
|
docker stack rm $(DEPLOY_NAME); \
|
|
)
|
|
|
|
logs: logs-$(DEPLOY_TYPE)
|
|
|
|
logs-compose:
|
|
@- echo "\n### logs"
|
|
@- docker context use $(host)
|
|
@- docker-compose logs -f $(service)
|
|
|
|
logs-swarm:
|
|
@- echo "\n### logs"
|
|
@- docker context use $(DEPLOY_HOSTS)
|
|
@- docker service logs -f $(service)
|
|
|
|
restart: restart-$(DEPLOY_TYPE)
|
|
|
|
restart-compose:
|
|
@- $(foreach ctx,$(DEPLOY_HOSTS), \
|
|
docker context use $(ctx); \
|
|
docker-compose restart; \
|
|
)
|
|
|
|
reload: reload-$(DEPLOY_TYPE)
|
|
|
|
reload-compose:
|
|
@- $(foreach host,$(DEPLOY_HOSTS), \
|
|
docker context use $(ctx); \
|
|
docker-compose restart; \
|
|
)
|