more everything #1
					 9 changed files with 94 additions and 55 deletions
				
			
		
							
								
								
									
										43
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										43
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
					@ -39,17 +39,19 @@ prerequisites:
 | 
				
			||||||
ifdef DEPLOY_CLEANUP
 | 
					ifdef DEPLOY_CLEANUP
 | 
				
			||||||
cleanup:
 | 
					cleanup:
 | 
				
			||||||
	@- echo "\n### cleanup ..."
 | 
						@- echo "\n### cleanup ..."
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@ $(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
		scp cleanup.sh $(SSH_USER)@$(host):/$(DEPLOY_PATH)/$(DEPLOY_NAME); \
 | 
							scp cleanup.sh $(SSH_USER)@$(host):/$(DEPLOY_PATH)/$(DEPLOY_NAME); \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); sh cleanup.sh $(host)"; \
 | 
							if [ -e cleanup.sh ]; then ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); sh cleanup.sh $(host)"; fi; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
prepare:
 | 
					prepare:
 | 
				
			||||||
	@- echo "\n### preparing ..."
 | 
						@- echo "\n### preparing ..."
 | 
				
			||||||
	@- chmod 600 secrets.mk
 | 
						@- chmod 600 secrets.mk
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@ $(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH); mkdir $(DEPLOY_NAME)"; \
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
 | 
							ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH); if [ ! -d $(DEPLOY_NAME) ] ; then mkdir $(DEPLOY_NAME); fi"; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
build:
 | 
					build:
 | 
				
			||||||
| 
						 | 
					@ -71,23 +73,28 @@ endif
 | 
				
			||||||
pre-deploy:
 | 
					pre-deploy:
 | 
				
			||||||
ifdef DEPLOY_HOSTS
 | 
					ifdef DEPLOY_HOSTS
 | 
				
			||||||
	@- echo "\n### running pre-deploy script(s)"
 | 
						@- echo "\n### running pre-deploy script(s)"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@ $(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); sh pre-deploy.sh $(host); sh pre-deploy_$(host).sh"; \
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
 | 
							if [ -e pre-deploy.sh ]; then ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); sh pre-deploy.sh $(host)"; fi; \
 | 
				
			||||||
 | 
							if [ -e pre-deploy_$(host).sh ]; then ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); sh pre-deploy_$(host).sh"; fi; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
post-deploy:
 | 
					post-deploy:
 | 
				
			||||||
ifdef DEPLOY_HOSTS
 | 
					ifdef DEPLOY_HOSTS
 | 
				
			||||||
	@- echo "\n### running post-deploy script(s)"
 | 
						@- echo "\n### running post-deploy script(s)"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@ $(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); sh post-deploy.sh $(host); sh post-deploy_$(host).sh"; \
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
 | 
							if [ -e post-deploy.sh ]; then ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); sh post-deploy.sh $(host)"; fi; \
 | 
				
			||||||
 | 
							if [ -e post-deploy_$(host).sh ]; then ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); sh post-deploy_$(host).sh"; fi; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pre-local:
 | 
					pre-local:
 | 
				
			||||||
ifneq (,$(wildcard pre-local.sh))
 | 
					ifneq (,$(wildcard pre-local.sh))
 | 
				
			||||||
	@- echo "\n### running pre-local script"
 | 
						@- echo "\n### running pre-local script"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@ $(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
		./pre-local.sh $(host); \
 | 
							./pre-local.sh $(host); \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
| 
						 | 
					@ -97,7 +104,8 @@ endif
 | 
				
			||||||
post-local:
 | 
					post-local:
 | 
				
			||||||
ifneq (,$(wildcard post-local.sh))
 | 
					ifneq (,$(wildcard post-local.sh))
 | 
				
			||||||
	@- echo "\n### running post-local script"
 | 
						@- echo "\n### running post-local script"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@ $(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
		./post-local.sh $(host); \
 | 
							./post-local.sh $(host); \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
| 
						 | 
					@ -107,16 +115,17 @@ endif
 | 
				
			||||||
upload:
 | 
					upload:
 | 
				
			||||||
ifdef DEPLOY_HOSTS
 | 
					ifdef DEPLOY_HOSTS
 | 
				
			||||||
	@- echo "\n### uploading files"
 | 
						@- echo "\n### uploading files"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@$(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "mkdir -p $(DEPLOY_PATH)/$(DEPLOY_NAME)"; \
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
		rsync_xtra=`cat .rsync`; \
 | 
							ssh $(SSH_USER)@$(host) "if [ ! -d $(DEPLOY_PATH)/$(DEPLOY_NAME) ]; then mkdir -p $(DEPLOY_PATH)/$(DEPLOY_NAME); fi"; \
 | 
				
			||||||
		rsync_xtra_host=`cat .rsync_$(host)`; \
 | 
							if [ -r .rsync ] ; then rsync_xtra=`cat .rsync`; fi; \
 | 
				
			||||||
 | 
							if [ -r .rsync_$(host) ] ; then rsync_xtra_host=`cat .rsync_$(host)`; fi; \
 | 
				
			||||||
		param="-ravv"; \
 | 
							param="-ravv"; \
 | 
				
			||||||
		param="$$param $$rsync_xtra"; \
 | 
							param="$$param $$rsync_xtra"; \
 | 
				
			||||||
		param="$$param $$rsync_xtra_host"; \
 | 
							param="$$param $$rsync_xtra_host"; \
 | 
				
			||||||
		param="$$param --exclude '*~' --exclude '.git*' --exclude '*.swp' . $(SSH_USER)@$(host):$(DEPLOY_PATH)/$(DEPLOY_NAME)"; \
 | 
							param="$$param --exclude '*~' --exclude '.git*' --exclude '*.swp' . $(SSH_USER)@$(host):$(DEPLOY_PATH)/$(DEPLOY_NAME)"; \
 | 
				
			||||||
		eval rsync $$param; \
 | 
							eval rsync $$param; \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME) && chmod o-r .env secrets*"; \
 | 
							ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); if [ -e .env ]; then chmod o-r .env ; fi; if [ -e secrets.mk ]; then chmod o-r secrets.mk; fi; if [ -e secrets.yaml ]; then chmod o-r secrets.yaml; fi"; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -143,9 +152,9 @@ restart: restart-$(DEPLOY_TYPE)
 | 
				
			||||||
reload:
 | 
					reload:
 | 
				
			||||||
ifneq (,$(wildcard reload.sh))
 | 
					ifneq (,$(wildcard reload.sh))
 | 
				
			||||||
	@- echo "\n### reloading ..."
 | 
						@- echo "\n### reloading ..."
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@ $(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		echo "### reloading service on $(host)"; \
 | 
							echo "### reloading service on $(host)"; \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); ./reload.sh"; \
 | 
							if [ -e reload.sh ]; then ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); ./reload.sh"; fi; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
	@- echo "\n### no reload script found"
 | 
						@- echo "\n### no reload script found"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,8 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
A simple Makefile based deployment system.
 | 
					A simple Makefile based deployment system.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**make-deploy** was initially hosted at https://git.dnix.de/an/make-deploy. Since it has become heavily used at chefkoch.de for system deployments, and lots of code is committed there, we moved the repo to https://git.chefkoch.net/pub/make-deploy. A mirror still exists at https://git.dnix.de/mirror/make-deploy.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**make-deploy** is licensed under the terms of the MIT-License. See [LICENSE](LICENSE) for info.
 | 
					**make-deploy** is licensed under the terms of the MIT-License. See [LICENSE](LICENSE) for info.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Installation
 | 
					## Installation
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								apt.mk
									
										
									
									
									
								
							
							
						
						
									
										9
									
								
								apt.mk
									
										
									
									
									
								
							| 
						 | 
					@ -5,8 +5,11 @@ pull-apt:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start-apt:
 | 
					start-apt:
 | 
				
			||||||
	@- echo "\n### start"
 | 
						@- echo "\n### start"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@ $(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		echo "$(host)"; \
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "sudo apt install -y $(APT_PACKAGES); sh start.sh"; \
 | 
							set -e; \
 | 
				
			||||||
 | 
							ssh $(SSH_USER)@$(host) "sudo apt install -y $(APT_PACKAGES)"; \
 | 
				
			||||||
 | 
							if [ -e start.sh ]; then ssh $(SSH_USER)@$(host) "sh start.sh"; fi; \
 | 
				
			||||||
		sleep $(DEPLOY_START_DELAY); \
 | 
							sleep $(DEPLOY_START_DELAY); \
 | 
				
			||||||
 | 
							set +e; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,13 +5,13 @@ DOCKER_LOGIN = 0
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pull-compose-file:
 | 
					pull-compose-file:
 | 
				
			||||||
	@- echo "\n### pulling image(s)"
 | 
						@ echo "\n### pulling image(s)"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@$(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		echo "$(host)"; \
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
		if test $(DOCKER_LOGIN) -eq 1 ; \
 | 
							if test "$(DOCKER_LOGIN)" -eq 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) "echo $(DOCKER_PASS) | docker login -u $(DOCKER_USER) --password-stdin $(DOCKER_REGISTRY)"; \
 | 
				
			||||||
		fi; \
 | 
							fi; \
 | 
				
			||||||
		if test -n "$(DOCKER_IMAGE)" ; \
 | 
							if test -n "$(DOCKER_IMAGE)" ; \
 | 
				
			||||||
		then \
 | 
							then \
 | 
				
			||||||
| 
						 | 
					@ -20,27 +20,33 @@ pull-compose-file:
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start-compose-file:
 | 
					start-compose-file:
 | 
				
			||||||
	@- echo "\n### starting service(s)"
 | 
						@ echo "\n### starting service(s)"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@$(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		echo "$(host)"; \
 | 
							set -e; \
 | 
				
			||||||
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose -f $(DEPLOY_COMPOSE_FILE) -p $(DEPLOY_COMPOSE_PROJECT) up -d"; \
 | 
							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); \
 | 
							sleep $(DEPLOY_START_DELAY); \
 | 
				
			||||||
 | 
							set +e; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
stop-compose-file:
 | 
					stop-compose-file:
 | 
				
			||||||
	@- echo "\n### stopping service(s)"
 | 
						@echo "\n### stopping service(s)"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@$(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		echo "$(host)"; \
 | 
							set -e; \
 | 
				
			||||||
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose -f $(DEPLOY_COMPOSE_FILE) -p $(DEPLOY_COMPOSE_PROJECT) down"; \
 | 
							ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose -f $(DEPLOY_COMPOSE_FILE) -p $(DEPLOY_COMPOSE_PROJECT) down"; \
 | 
				
			||||||
 | 
							set +e; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
logs-compose-file:
 | 
					logs-compose-file:
 | 
				
			||||||
	@- echo "\n### logs"
 | 
						@ 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)"
 | 
						@ 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:
 | 
					restart-compose-file:
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@$(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		echo "$(host)"; \
 | 
							set -e; \
 | 
				
			||||||
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose -f $(DEPLOY_COMPOSE_FILE) -p $(DEPLOY_COMPOSE_PROJECT) restart"; \
 | 
							ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker-compose -f $(DEPLOY_COMPOSE_FILE) -p $(DEPLOY_COMPOSE_PROJECT) restart"; \
 | 
				
			||||||
		sleep $(DEPLOY_START_DELAY); \
 | 
							sleep $(DEPLOY_START_DELAY); \
 | 
				
			||||||
 | 
							set +e; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										34
									
								
								compose.mk
									
										
									
									
									
								
							
							
						
						
									
										34
									
								
								compose.mk
									
										
									
									
									
								
							| 
						 | 
					@ -7,13 +7,13 @@ DOCKER_LOGIN = 0
 | 
				
			||||||
endif
 | 
					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: $(host)"; \
 | 
				
			||||||
		if test "$(DOCKER_LOGIN)" = "1" ; \
 | 
							if test "$(DOCKER_LOGIN)" -eq 1 ; \
 | 
				
			||||||
		then \
 | 
							then \
 | 
				
			||||||
			echo "\n#### perform 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) "echo $(DOCKER_PASS) | docker login -u $(DOCKER_USER) --password-stdin $(DOCKER_REGISTRY)"; \
 | 
				
			||||||
		fi; \
 | 
							fi; \
 | 
				
			||||||
		if test -n "$(DOCKER_IMAGE)" ; \
 | 
							if test -n "$(DOCKER_IMAGE)" ; \
 | 
				
			||||||
		then \
 | 
							then \
 | 
				
			||||||
| 
						 | 
					@ -22,24 +22,30 @@ pull-compose:
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start-compose:
 | 
					start-compose:
 | 
				
			||||||
	@- echo "\n### starting service(s)"
 | 
						@echo "\n### starting service(s)"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@$(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		echo "$(host)"; \
 | 
							set -e; \
 | 
				
			||||||
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(project_dir); docker-compose up -d"; \
 | 
							ssh $(SSH_USER)@$(host) "cd $(project_dir); docker-compose up -d"; \
 | 
				
			||||||
		sleep $(DEPLOY_START_DELAY); \
 | 
							sleep $(DEPLOY_START_DELAY); \
 | 
				
			||||||
 | 
							set +e; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
logs-compose:
 | 
					logs-compose:
 | 
				
			||||||
	@- echo "\n### logs"
 | 
						@echo "\n### logs"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@$(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		echo "$(host)"; \
 | 
							set -e; \
 | 
				
			||||||
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(project_dir); docker-compose logs -f $(service)"; \
 | 
							ssh $(SSH_USER)@$(host) "cd $(project_dir); docker-compose logs -f $(service)"; \
 | 
				
			||||||
 | 
							set +e; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
restart-compose:
 | 
					restart-compose:
 | 
				
			||||||
	@- echo "\n### restarting service(s)"
 | 
						@echo "\n### restarting service(s)"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@$(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		echo "$(host)"; \
 | 
							set -e; \
 | 
				
			||||||
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(project_dir); docker-compose restart"; \
 | 
							ssh $(SSH_USER)@$(host) "cd $(project_dir); docker-compose restart"; \
 | 
				
			||||||
		sleep $(DEPLOY_START_DELAY); \
 | 
							sleep $(DEPLOY_START_DELAY); \
 | 
				
			||||||
 | 
							set +e; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4
									
								
								cron.mk
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								cron.mk
									
										
									
									
									
								
							| 
						 | 
					@ -4,15 +4,19 @@ start-cron:
 | 
				
			||||||
	@- echo "\n### starting..."
 | 
						@- echo "\n### starting..."
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		echo "$(host)"; \
 | 
							echo "$(host)"; \
 | 
				
			||||||
 | 
							set -e; \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "sudo -u $(CRON_USER) sh -c 'crontab -l | sed \"/^#make-deploy-cron:$(DEPLOY_NAME)/,+1 d\" | { cat; echo \"#make-deploy-cron:$(DEPLOY_NAME)\"; cat \"$(DEPLOY_PATH)/$(DEPLOY_NAME)/crontab\"; } | crontab -'"; \
 | 
							ssh $(SSH_USER)@$(host) "sudo -u $(CRON_USER) sh -c 'crontab -l | sed \"/^#make-deploy-cron:$(DEPLOY_NAME)/,+1 d\" | { cat; echo \"#make-deploy-cron:$(DEPLOY_NAME)\"; cat \"$(DEPLOY_PATH)/$(DEPLOY_NAME)/crontab\"; } | crontab -'"; \
 | 
				
			||||||
		sleep $(DEPLOY_START_DELAY); \
 | 
							sleep $(DEPLOY_START_DELAY); \
 | 
				
			||||||
 | 
							set +e; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
stop-cron:
 | 
					stop-cron:
 | 
				
			||||||
	@- echo "\n### stopping ..."
 | 
						@- echo "\n### stopping ..."
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		echo "$(host)"; \
 | 
							echo "$(host)"; \
 | 
				
			||||||
 | 
							set -e; \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "sudo -u $(CRON_USER) sh -c 'crontab -l | sed \"/^#make-deploy-cron:$(DEPLOY_NAME)/,+1 d\" | crontab -'"; \
 | 
							ssh $(SSH_USER)@$(host) "sudo -u $(CRON_USER) sh -c 'crontab -l | sed \"/^#make-deploy-cron:$(DEPLOY_NAME)/,+1 d\" | crontab -'"; \
 | 
				
			||||||
 | 
							set +e; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pull-cron:
 | 
					pull-cron:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								k8s.mk
									
										
									
									
									
								
							
							
						
						
									
										9
									
								
								k8s.mk
									
										
									
									
									
								
							| 
						 | 
					@ -4,14 +4,19 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MANDATORY = $(shell printenv MANDATORY) K8S_CONTEXT
 | 
					MANDATORY = $(shell printenv MANDATORY) K8S_CONTEXT
 | 
				
			||||||
K8S_MANIFEST_FILENAME ?= kubernetes.yaml
 | 
					K8S_MANIFEST_FILENAME ?= kubernetes.yaml
 | 
				
			||||||
 | 
					ifneq ("$(wildcard secrets.yaml)","")
 | 
				
			||||||
 | 
					  SECRETS="secrets.yaml"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  SECRETS=""
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start-k8s:
 | 
					start-k8s:
 | 
				
			||||||
	@- echo "\n### starting deployment with k8s"
 | 
						@- echo "\n### starting deployment with k8s"
 | 
				
			||||||
	@- echo "\n### setting kubernetes context to $(K8S_CONTEXT)"
 | 
						@- echo "\n### setting kubernetes context to $(K8S_CONTEXT)"
 | 
				
			||||||
	@ kubectl config use-context $(K8S_CONTEXT)
 | 
						@ kubectl config use-context $(K8S_CONTEXT)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@- echo "\n### run kubectl apply -f $(K8S_MANIFEST_FILENAME) and secrets.yaml"
 | 
						@- echo "\n### run kubectl apply -f $(K8S_MANIFEST_FILENAME) and if available secrets file $(SECRETS)"
 | 
				
			||||||
	@ cat $(K8S_MANIFEST_FILENAME) secrets.yaml | envsubst | kubectl apply $(K8S_ADDITIONAL_PARAMS) -f -
 | 
						@ cat $(K8S_MANIFEST_FILENAME) $(SECRETS) | envsubst | kubectl apply $(K8S_ADDITIONAL_PARAMS) -f -
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pull-k8s:
 | 
					pull-k8s:
 | 
				
			||||||
# nop
 | 
					# nop
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,7 +3,7 @@
 | 
				
			||||||
# this just rsyncs the stuff to the remote server(s) and runs
 | 
					# this just rsyncs the stuff to the remote server(s) and runs
 | 
				
			||||||
# build.sh, pre-/post-deploy, pre-/post-local, start.sh, etc.
 | 
					# build.sh, pre-/post-deploy, pre-/post-local, start.sh, etc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifndef DEPLOY_StART_DELAY
 | 
					ifndef DEPLOY_START_DELAY
 | 
				
			||||||
DEPLOY_START_DELAY = 0
 | 
					DEPLOY_START_DELAY = 0
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,7 +13,9 @@ pull-simple:
 | 
				
			||||||
start-simple:
 | 
					start-simple:
 | 
				
			||||||
	@- echo "\n### start"
 | 
						@- echo "\n### start"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		echo "$(host)"; \
 | 
							echo "#host: $(host)"; \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); sh start.sh"; \
 | 
							set -e; \
 | 
				
			||||||
 | 
							if [ -e start.sh ] ; then ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); sh start.sh"; fi; \
 | 
				
			||||||
		sleep $(DEPLOY_START_DELAY); \
 | 
							sleep $(DEPLOY_START_DELAY); \
 | 
				
			||||||
 | 
							set +e; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								swarm.mk
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								swarm.mk
									
										
									
									
									
								
							| 
						 | 
					@ -4,7 +4,9 @@ start-swarm:
 | 
				
			||||||
	@- echo "\n### starting service(s)"
 | 
						@- echo "\n### starting service(s)"
 | 
				
			||||||
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
				
			||||||
		echo "$(host)"; \
 | 
							echo "$(host)"; \
 | 
				
			||||||
 | 
							set -e; \
 | 
				
			||||||
		ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker stack deploy -c stack.yml $(DEPLOY_NAME)"; \
 | 
							ssh $(SSH_USER)@$(host) "cd $(DEPLOY_PATH)/$(DEPLOY_NAME); docker stack deploy -c stack.yml $(DEPLOY_NAME)"; \
 | 
				
			||||||
 | 
							set +e; \
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
stop-swarm:
 | 
					stop-swarm:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue