41 lines
1.4 KiB
Makefile
41 lines
1.4 KiB
Makefile
# Delivery Tracker - Local Build & Deploy
|
|
REGISTRY = gitea.chedius.ru/chedius
|
|
PLATFORM = linux/amd64
|
|
|
|
# Build and push both services
|
|
.PHONY: all build push deploy
|
|
|
|
all: build push
|
|
|
|
build:
|
|
docker build --platform $(PLATFORM) -t $(REGISTRY)/delivery-tracker/backend:latest ./backend
|
|
docker build --platform $(PLATFORM) -t $(REGISTRY)/delivery-tracker/frontend:latest ./frontend
|
|
|
|
push:
|
|
docker push $(REGISTRY)/delivery-tracker/backend:latest
|
|
docker push $(REGISTRY)/delivery-tracker/frontend:latest
|
|
|
|
# Quick deploy - build, push and trigger watchtower check
|
|
deploy: build push
|
|
@echo "Build and push complete. Watchtower will auto-update within 60 seconds."
|
|
@echo "Or run 'make watchtower-now' to force immediate update"
|
|
|
|
# Force watchtower to check now (run from server)
|
|
watchtower-now:
|
|
docker exec delivery-tracker-watchtower-1 /watchtower --run-once delivery-tracker-backend-1 delivery-tracker-frontend-1
|
|
|
|
# Update specific containers on server (if watchtower fails)
|
|
update-server:
|
|
docker pull $(REGISTRY)/delivery-tracker/backend:latest
|
|
docker pull $(REGISTRY)/delivery-tracker/frontend:latest
|
|
docker-compose up -d --force-recreate backend frontend
|
|
|
|
# Full workflow: commit, build, push
|
|
release:
|
|
@if [ -z "$(MSG)" ]; then echo "Usage: make release MSG='commit message'"; exit 1; fi
|
|
git add -A
|
|
git commit -m "$(MSG)" || true
|
|
git push
|
|
$(MAKE) build push
|
|
@echo "Released! Watchtower will deploy within 60 seconds."
|