make-deploy/docker.mk

72 lines
1.7 KiB
Makefile

create-docker-contexts:
@- $(foreach host,$(DEPLOY_HOSTS), \
docker context create $(host) --description "$(host)" --docker "host=ssh://$(SSH_USER)@$(host)"; \
)
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"; \
)
pull-compose:
@- echo "\n### pulling image(s)"
@- $(foreach ctx,$(DEPLOY_HOSTS), \
docker --context $(ctx) pull $(DOCKER_IMAGE); \
)
pull-swarm:
start-compose:
@- echo "\n### starting service(s)"
@- $(foreach ctx,$(DEPLOY_HOSTS), \
docker-compose --host $(ctx) up -d; \
)
start-swarm:
@- echo "\n### starting service(s)"
@- $(foreach ctx,$(DEPLOY_HOSTS), \
docker --context $(ctx) stack deploy -c stack.yml $(DEPLOY_NAME); \
)
stop-compose:
@- echo "\n### stopping service(s)"
@- $(foreach ctx,$(DEPLOY_HOSTS), \
docker-compose --host $(ctx) down; \
)
stop-swarm:
@- echo "\n### stopping service(s)"
@- $(foreach ctx,$(DEPLOY_HOSTS), \
docker --context $(ctx) stack rm $(DEPLOY_NAME); \
)
logs-compose:
@- echo "\n### logs"
@- docker-compose --host $(ctx) logs -f $(service)
logs-swarm:
@- echo "\n### logs"
@- docker --context $(ctx) service logs -f $(service)
restart-compose:
@- $(foreach ctx,$(DEPLOY_HOSTS), \
docker-compose --host $(ctx) restart; \
)
reload-compose: