97 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
.PHONY: create_contexts deploy upload pull start stop restart
 | 
						|
 | 
						|
include config.mk
 | 
						|
 | 
						|
create-contexts:
 | 
						|
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						|
	    docker context create $(host) --description "$(host)" --docker "host=ssh://$(SSH_USER)@$(host)"; \
 | 
						|
	)
 | 
						|
	
 | 
						|
deploy: upload pre-deploy pull start post-deploy
 | 
						|
 | 
						|
pre-deploy: pre-deploy-$(DEPLOY_TYPE)
 | 
						|
 | 
						|
post-deploy: pst-deploy-$(DEPLOY_TYPE)
 | 
						|
 | 
						|
pre-deploy-compose: pre-deploy-docker
 | 
						|
 | 
						|
post-deploy-compose: post-deploy-docker
 | 
						|
 | 
						|
pre-deploy-swarm: pre-deploy-docker
 | 
						|
 | 
						|
post-deploy-swarm: post-deploy-docker
 | 
						|
 | 
						|
pre-deploy-docker:
 | 
						|
	@- echo "\n### running pre-deploy script"
 | 
						|
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						|
		cd $(DEPLOY_PATH)/$(DEPLOY_NAME); \
 | 
						|
		sh pre-deploy.sh; \
 | 
						|
	)
 | 
						|
	
 | 
						|
post-deploy-docker:
 | 
						|
	@- echo "\n### running post-deploy script"
 | 
						|
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						|
		cd $(DEPLOY_PATH)/$(DEPLOY_NAME); \
 | 
						|
		sh post-deploy.sh; \
 | 
						|
	)
 | 
						|
	
 | 
						|
upload:
 | 
						|
	@- echo "\n### uploading files"
 | 
						|
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						|
		rsync -rav --exclude '*~' . $(SSH_USER)@$(host):$(DEPLOY_PATH)/$(DEPLOY_NAME); \
 | 
						|
	)
 | 
						|
 | 
						|
pull:
 | 
						|
	@- echo "\n### pulling image(s)"
 | 
						|
	@- $(foreach ctx,$(DEPLOY_HOSTS), \
 | 
						|
		docker context use $(ctx); \
 | 
						|
		docker pull $(DOCKER_IMAGE); \
 | 
						|
	)
 | 
						|
	
 | 
						|
start: start-$(DEPLOY_TYPE)
 | 
						|
 | 
						|
start-compose:
 | 
						|
	@- echo "\n### starting service(s)"
 | 
						|
	@- $(foreach ctx,$(DEPLOY_HOSTS), \
 | 
						|
		docker context use $(ctx); \
 | 
						|
		docker-compose up -d; \
 | 
						|
	)
 | 
						|
 | 
						|
start-swarm:
 | 
						|
 | 
						|
stop: stop-$(DEPLOY_TYPE)
 | 
						|
 | 
						|
stop-compose:
 | 
						|
	@- echo "\n### stopping service(s)"
 | 
						|
	@- $(foreach ctx,$(DEPLOY_HOSTS), \
 | 
						|
		docker context use $(ctx); \
 | 
						|
		docker-compose down; \
 | 
						|
)
 | 
						|
 | 
						|
stop-swarm:
 | 
						|
 | 
						|
logs: logs-$(DEPLOY_TYPE)
 | 
						|
 | 
						|
logs-compose:
 | 
						|
	@- echo "\n### logs"
 | 
						|
	@- docker context use $(host)
 | 
						|
	@- docker-compose logs -f $(service)
 | 
						|
 | 
						|
 | 
						|
logs-swarm:
 | 
						|
 | 
						|
restart: restart-$(DEPLOY_TYPE)
 | 
						|
 | 
						|
restart-compose:
 | 
						|
	@- $(foreach ctx,$(DEPLOY_HOSTS), \
 | 
						|
		docker context use $(ctx); \
 | 
						|
		docker-compose restart; \
 | 
						|
	)
 | 
						|
 | 
						|
reload: reload-$(DEPLOY_TYPE)
 | 
						|
 | 
						|
reload-compose:
 | 
						|
	@- $(foreach host,$(DEPLOY_HOSTS), \
 | 
						|
		docker context use $(ctx); \
 | 
						|
		docker-compose restart; \
 | 
						|
	)	
 |