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 diff --git a/helm.mk b/helm.mk index 963e468..e0751e3 100644 --- a/helm.mk +++ b/helm.mk @@ -28,7 +28,20 @@ ifdef DEBUG_MODE @- 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 @@ -41,7 +54,7 @@ else @- 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