Compare commits

...
Sign in to create a new pull request.

2 commits

Author SHA1 Message Date
Thomas
7fe14dc83d allow subpath for compose deployments 2025-04-10 15:22:00 +02:00
Thomas
2f72c0bb35 add --atomic flag and ROLLBACK_MODE 2023-09-22 09:41:40 +02:00
2 changed files with 54 additions and 25 deletions

View file

@ -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: pull-compose:
@- echo "\n### pulling image(s)" @echo "\n### pulling image(s)"
@- $(foreach host,$(DEPLOY_HOSTS), \ $(foreach host,$(DEPLOY_HOSTS), \
echo "$(host)"; \ echo "$(host)"; \
if test $(DOCKER_LOGIN) -eq 1 ; \ if test "$(DOCKER_LOGIN)" = "1" ; \
then \ 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)"; \ ssh $(SSH_USER)@$(host) "docker login -u $(DOCKER_USER) -p $(DOCKER_PASS) $(DOCKER_REGISTRY)"; \
fi; \ 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: start-compose:
@- echo "\n### starting service(s)" @echo "\n### starting service(s)"
@- $(foreach host,$(DEPLOY_HOSTS), \ $(foreach host,$(DEPLOY_HOSTS), \
echo "$(host)"; \ 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); \ 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: logs-compose:
@- echo "\n### logs" @echo "\n### logs"
@- ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose logs -f $(service)" $(foreach host,$(DEPLOY_HOSTS), \
restart-compose:
@- $(foreach host,$(DEPLOY_HOSTS), \
echo "$(host)"; \ echo "$(host)"; \
ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose restart"; \ ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose logs -f $(service)"; \
sleep $(DEPLOY_START_DELAY); \
) )
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); \
)

17
helm.mk
View file

@ -28,7 +28,20 @@ ifdef DEBUG_MODE
@- echo " " @- echo " "
@- echo "----------------------------------" @- echo "----------------------------------"
@ envsubst < $(HELM_VALUES_FILE) | helm upgrade $(HELM_CHART_NAME) $(HELM_CHART_PATH) -n $(K8S_NAMESPACE) --install --debug --wait --values - @ envsubst < $(HELM_VALUES_FILE) | helm upgrade $(HELM_CHART_NAME) $(HELM_CHART_PATH) -n $(K8S_NAMESPACE) --install --atomic --debug --wait --values -
ifdef ROLLBACK_MODE
@- echo "\n### rollback helm chart"
@- echo "-- DEBUG DEPLOYMENT --------------------"
@- echo " "
@- echo "Namespace: $(K8S_NAMESPACE)"
@- echo "Helm Chart: $(HELM_CHART_PATH)"
@- echo "Helm Release: $(HELM_CHART_NAME)"
@- echo " "
@- echo "----------------------------------"
@ helm rollback -n ${HELM_NAMESPACE} ${HELM_CHART_NAME}
else else
@ -41,7 +54,7 @@ else
@- echo " " @- echo " "
@- echo "----------------------------------" @- echo "----------------------------------"
@ envsubst < $(HELM_VALUES_FILE) | helm upgrade $(HELM_CHART_NAME) $(HELM_CHART_PATH) -n $(K8S_NAMESPACE) --install --wait --values - @ envsubst < $(HELM_VALUES_FILE) | helm upgrade $(HELM_CHART_NAME) $(HELM_CHART_PATH) -n $(K8S_NAMESPACE) --install --atomic --wait --values -
endif endif