MANDATORY = $(shell printenv MANDATORY) SSH_USER DEPLOY_COMPOSE_FILE DEPLOY_COMPOSE_PROJECT ifndef DOCKER_LOGIN DOCKER_LOGIN = 0 endif pull-compose-file: @- echo "\n### pulling image(s)" @- $(foreach host,$(DEPLOY_HOSTS), \ echo "$(host)"; \ if test $(DOCKER_LOGIN) -eq 1 ; \ then \ echo "\n#### perfom docker login with user $(DOCKER_USER) on $(DOCKER_REGISTRY)"; \ ssh $(SSH_USER)@$(host) "docker login -u $(DOCKER_USER) -p $(DOCKER_PASS) $(DOCKER_REGISTRY)"; \ fi; \ if test -n "$(DOCKER_IMAGE)" ; \ then \ ssh $(SSH_USER)@$(host) "docker pull $(DOCKER_IMAGE)"; \ fi; \ ) start-compose-file: @- echo "\n### starting service(s)" @- $(foreach host,$(DEPLOY_HOSTS), \ echo "$(host)"; \ ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose -f $(DEPLOY_COMPOSE_FILE) -p $(DEPLOY_COMPOSE_PROJECT) up -d"; \ sleep $(DEPLOY_START_DELAY); \ ) stop-compose-file: @- echo "\n### stopping service(s)" @- $(foreach host,$(DEPLOY_HOSTS), \ echo "$(host)"; \ ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose -f $(DEPLOY_COMPOSE_FILE) -p $(DEPLOY_COMPOSE_PROJECT) down"; \ ) logs-compose-file: @- echo "\n### logs" @- ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose -f $(DEPLOY_COMPOSE_FILE) -p $(DEPLOY_COMPOSE_PROJECT) logs -f $(service)" restart-compose-file: @- $(foreach host,$(DEPLOY_HOSTS), \ echo "$(host)"; \ ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose -f $(DEPLOY_COMPOSE_FILE) -p $(DEPLOY_COMPOSE_PROJECT) restart"; \ sleep $(DEPLOY_START_DELAY); \ )