43 lines
No EOL
1.6 KiB
Makefile
43 lines
No EOL
1.6 KiB
Makefile
IP ?= 192.168.1.195
|
|
REMOTE_USER ?= pi
|
|
REMOTE = $(REMOTE_USER)@$(IP)
|
|
SERVER = server
|
|
GATEWAY = lora-gateway
|
|
DEST ?= /home/$(REMOTE_USER)/projet-agreg
|
|
RSYNC_OPTS = -arvz --delete --exclude='__pycache__' --exclude='*.pyc' --exclude='.env' --exclude='.venv' --exclude='Makefile' --exclude='.git' --exclude='.vscode' --exclude='.gitignore'
|
|
|
|
.PHONY: deploy deploy-gw deploy-app clean-app clean-gw clean-all
|
|
|
|
deploy-all: deploy-gw deploy-app
|
|
|
|
deploy-app:
|
|
@echo "Déploiement sur $(REMOTE):$(DEST)"
|
|
ssh $(REMOTE) "mkdir -p $(DEST)"
|
|
rsync $(RSYNC_OPTS) $(SERVER) $(REMOTE):$(DEST)
|
|
@echo "Déploiement terminé"
|
|
ssh $(REMOTE) "cd $(DEST)/$(SERVER) && docker compose up -d --build"
|
|
@echo "Services redémarrés"
|
|
|
|
deploy-gw:
|
|
@echo "Déploiement sur $(REMOTE):$(DEST)"
|
|
ssh $(REMOTE) "mkdir -p $(DEST)"
|
|
rsync $(RSYNC_OPTS) $(GATEWAY) $(REMOTE):$(DEST)
|
|
@echo "Déploiement terminé"
|
|
ssh $(REMOTE) "cd $(DEST)/$(GATEWAY) && docker compose up -d"
|
|
@echo "Services redémarrés"
|
|
|
|
clean-app:
|
|
@echo "Nettoyage de l'app sur $(REMOTE):$(DEST)/$(SERVER)"
|
|
ssh $(REMOTE) "cd $(DEST)/$(SERVER) && docker compose down --volumes --remove-orphans || true"
|
|
ssh $(REMOTE) "rm -rf $(DEST)/$(SERVER)"
|
|
@echo "Nettoyage de l'application terminé"
|
|
|
|
clean-gw:
|
|
@echo "Nettoyage de la gateway sur $(REMOTE):$(DEST)/$(GATEWAY)"
|
|
ssh $(REMOTE) "cd $(DEST)/$(GATEWAY) && docker compose down --volumes --remove-orphans || true"
|
|
ssh $(REMOTE) "rm -rf $(DEST)/$(GATEWAY)"
|
|
@echo "Nettoyage de la gateway terminé"
|
|
|
|
clean-all: clean-app clean-gw
|
|
ssh $(REMOTE) "docker system prune -f || true"
|
|
@echo "Nettoyage complet terminé"
|