From 7fe14dc83dc464a4a087c52f021200c89f5b9b6d Mon Sep 17 00:00:00 2001 From: Thomas Date: Thu, 10 Apr 2025 15:22:00 +0200 Subject: [PATCH] allow subpath for compose deployments --- compose.mk | 62 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/compose.mk b/compose.mk index c9779bf..197964d 100644 --- a/compose.mk +++ b/compose.mk @@ -1,39 +1,55 @@ -MANDATORY-compose = DEPLOY_HOSTS DEPLOY_TYPE TAG +ifdef DOCKER_LOGIN +MANDATORY = $(shell printenv MANDATORY) DOCKER_USER DOCKER_PASS DOCKER_REGISTRY +endif + +ifndef DOCKER_LOGIN +DOCKER_LOGIN = 0 +endif pull-compose: - @- echo "\n### pulling image(s)" - @- $(foreach host,$(DEPLOY_HOSTS), \ + @echo "\n### pulling image(s)" + $(foreach host,$(DEPLOY_HOSTS), \ echo "$(host)"; \ - if test $(DOCKER_LOGIN) -eq 1 ; \ + if test "$(DOCKER_LOGIN)" = "1" ; \ then \ - echo "\n#### perfom docker login with user $(DOCKER_USER) on $(DOCKER_REGISTRY)"; \ + echo "\n#### perform docker login with user $(DOCKER_USER) on $(DOCKER_REGISTRY)"; \ ssh $(SSH_USER)@$(host) "docker login -u $(DOCKER_USER) -p $(DOCKER_PASS) $(DOCKER_REGISTRY)"; \ fi; \ - ssh $(SSH_USER)@$(host) "docker pull $(DOCKER_IMAGE)"; \ + if test -n "$(DOCKER_IMAGE)" ; \ + then \ + ssh $(SSH_USER)@$(host) "docker pull $(DOCKER_IMAGE)"; \ + fi; \ ) start-compose: - @- echo "\n### starting service(s)" - @- $(foreach host,$(DEPLOY_HOSTS), \ + @echo "\n### starting service(s)" + $(foreach host,$(DEPLOY_HOSTS), \ echo "$(host)"; \ - ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose up -d"; \ + if test -n "$(DEPLOY_SUBPATH)" ; \ + then \ + ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME)/$(DEPLOY_SUBPATH); docker-compose up -d"; \ + else \ + ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose up -d"; \ + fi; \ sleep $(DEPLOY_START_DELAY); \ ) -stop-compose: - @- echo "\n### stopping service(s)" - @- $(foreach host,$(DEPLOY_HOSTS), \ - echo "$(host)"; \ - ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose down"; \ - ) - logs-compose: - @- echo "\n### logs" - @- ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose logs -f $(service)" - -restart-compose: - @- $(foreach host,$(DEPLOY_HOSTS), \ + @echo "\n### logs" + $(foreach host,$(DEPLOY_HOSTS), \ echo "$(host)"; \ - ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose restart"; \ - sleep $(DEPLOY_START_DELAY); \ + ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose logs -f $(service)"; \ ) + +restart-compose: + @echo "\n### restarting service(s)" + $(foreach host,$(DEPLOY_HOSTS), \ + echo "$(host)"; \ + if test -n "$(DEPLOY_SUBPATH)" ; \ + then \ + ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME)/$(DEPLOY_SUBPATH); docker-compose restart"; \ + else \ + ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose restart"; \ + fi; \ + sleep $(DEPLOY_START_DELAY); \ + ) \ No newline at end of file