allow subpath for compose deployments
This commit is contained in:
		
							parent
							
								
									2f72c0bb35
								
							
						
					
					
						commit
						7fe14dc83d
					
				
					 1 changed files with 39 additions and 23 deletions
				
			
		
							
								
								
									
										56
									
								
								compose.mk
									
										
									
									
									
								
							
							
						
						
									
										56
									
								
								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)"
 | 
			
		||||
	@echo "\n### logs"
 | 
			
		||||
	$(foreach host,$(DEPLOY_HOSTS), \
 | 
			
		||||
		echo "$(host)"; \
 | 
			
		||||
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose logs -f $(service)"; \
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
restart-compose:
 | 
			
		||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
			
		||||
	@echo "\n### restarting service(s)"
 | 
			
		||||
	$(foreach host,$(DEPLOY_HOSTS), \
 | 
			
		||||
		echo "$(host)"; \
 | 
			
		||||
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose restart"; \
 | 
			
		||||
		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); \
 | 
			
		||||
	)
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue