1- .PHONY : help db-start db-stop db-restart db-logs db-clean migrate-up migrate-down seed-data build run test clean
1+ .PHONY : help db-start db-stop db-restart db-logs db-clean migrate-up migrate-down seed-data build run test clean docker-build docker-build-tag docker-push docker-build-push
22
33# Default target
44help : # # Show this help message
@@ -41,6 +41,7 @@ build: ## Build the application
4141 go build -o bin/api ./cmd/api
4242 go build -o bin/migrate ./cmd/migrate
4343 go build -o bin/seed ./cmd/seed
44+ go build -o bin/expire-checkouts ./cmd/expire-checkouts
4445
4546run : db-start # # Run the application locally with database
4647 @echo " Starting database and waiting for it to be ready..."
@@ -56,6 +57,28 @@ stop-docker: ## Stop the entire application stack
5657logs : # # Show application logs
5758 docker compose logs -f api
5859
60+ # Docker image commands
61+ docker-build : # # Build Docker image
62+ docker build -t ghcr.io/zenfulcode/commercifygo:latest .
63+
64+ docker-build-tag : # # Build Docker image with specific tag (use TAG=version)
65+ @if [ -z " $( TAG) " ]; then echo " Error: TAG is required. Use: make docker-build-tag TAG=v1.0.0" ; exit 1; fi
66+ docker build -t ghcr.io/zenfulcode/commercifygo:$(TAG ) -t ghcr.io/zenfulcode/commercifygo:latest -t ghcr.io/zenfulcode/commercifygo:dev .
67+
68+ docker-push : # # Push Docker image to registry (use REGISTRY and TAG)
69+ @if [ -z " $( REGISTRY) " ]; then echo " Error: REGISTRY is required. Use: make docker-push REGISTRY=your-registry.com" ; exit 1; fi
70+ @if [ -z " $( TAG) " ]; then echo " Error: TAG is required. Use: make docker-push REGISTRY=your-registry.com TAG=v1.0.0" ; exit 1; fi
71+ # docker tag $(REGISTRY)commercifygo:$(TAG) $(REGISTRY)/commercifygo:$(TAG)
72+ # docker tag $(REGISTRY)commercifygo:latest $(REGISTRY)/commercifygo:latest
73+ docker push $(REGISTRY)/commercifygo:$(TAG)
74+ docker push $(REGISTRY)/commercifygo:latest
75+ docker push $(REGISTRY)/commercifygo:dev
76+
77+ docker-build-push : docker-build-tag docker-push # # Build and push Docker image (use REGISTRY and TAG)
78+
79+ docker-dev-build : # # Build Docker image for development
80+ docker build -t ghcr.io/zenfulcode/commercifygo:dev .
81+
5982# Development commands
6083test : # # Run tests
6184 go test ./...
@@ -83,3 +106,7 @@ vet: ## Run go vet
83106
84107mod-tidy : # # Tidy Go modules
85108 go mod tidy
109+
110+ # Maintenance commands
111+ expire-checkouts : # # Expire old checkouts manually
112+ go run ./cmd/expire-checkouts
0 commit comments