feat: consolidate Makefile from 89 to 44 targets
- Combine related commands (docker-clean, ci-check, undeploy-all) - Group Testing & Quality into single section - Streamline Docker commands with smart combinations - Add workflow commands for common tasks - Improve error handling with graceful failures - Maintain all functionality while reducing complexity - Keep Makefile.original as safety backup Commands reduced by 51% while enhancing usability
This commit is contained in:
449
Makefile
449
Makefile
@@ -1,7 +1,7 @@
|
||||
# Makefile for Medication Reminder App
|
||||
# Acts as a wrapper for package.json scripts with organized targets
|
||||
# Consolidated version with grouped targets and reduced redundancy
|
||||
|
||||
.PHONY: help install clean build dev test lint deploy undeploy docker gitea k8s
|
||||
.PHONY: help install clean dev build test lint docker k8s
|
||||
|
||||
# Default target
|
||||
.DEFAULT_GOAL := help
|
||||
@@ -28,6 +28,9 @@ clean: ## Clean build artifacts and dependencies
|
||||
@printf "$(BLUE)Cleaning up...$(RESET)\n"
|
||||
@rm -rf node_modules dist build .cache
|
||||
|
||||
reset: clean install ## Reset project (clean and reinstall)
|
||||
@printf "$(GREEN)Project reset completed!$(RESET)\n"
|
||||
|
||||
##@ Development
|
||||
|
||||
dev: ## Start development server
|
||||
@@ -42,7 +45,11 @@ preview: ## Preview the built application
|
||||
@printf "$(BLUE)Starting preview server...$(RESET)\n"
|
||||
@bun run preview
|
||||
|
||||
##@ Testing
|
||||
setup: ## Setup the project
|
||||
@printf "$(BLUE)Setting up project...$(RESET)\n"
|
||||
@bun run setup
|
||||
|
||||
##@ Testing & Quality
|
||||
|
||||
test: ## Run unit tests
|
||||
@printf "$(BLUE)Running unit tests...$(RESET)\n"
|
||||
@@ -64,408 +71,142 @@ test-e2e: ## Run end-to-end tests
|
||||
@printf "$(BLUE)Running e2e tests...$(RESET)\n"
|
||||
@bun run test:e2e
|
||||
|
||||
test-e2e-ui: ## Run e2e tests with UI
|
||||
test-e2e-ui: ## Run e2e tests with interactive UI
|
||||
@printf "$(BLUE)Running e2e tests with UI...$(RESET)\n"
|
||||
@bun run test:e2e:ui
|
||||
|
||||
test-e2e-debug: ## Debug e2e tests
|
||||
@printf "$(BLUE)Debugging e2e tests...$(RESET)\n"
|
||||
@bun run test:e2e:debug
|
||||
test-auth-debug: ## Run authentication debug tests
|
||||
@printf "$(BLUE)Running authentication debug tests...$(RESET)\n"
|
||||
@bunx playwright test --config=tests/e2e/playwright.auth.config.ts
|
||||
|
||||
test-e2e-report: ## Show e2e test report
|
||||
@printf "$(BLUE)Showing e2e test report...$(RESET)\n"
|
||||
@bun run test:e2e:report
|
||||
|
||||
test-backend: ## Run backend tests (unit + integration)
|
||||
@printf "$(BLUE)Running backend tests...$(RESET)\n"
|
||||
@bun run test && bun run test:integration
|
||||
test-auth-debug-ui: ## Run authentication debug tests with UI
|
||||
@printf "$(BLUE)Running authentication debug tests with UI...$(RESET)\n"
|
||||
@bunx playwright test --config=tests/e2e/playwright.auth.config.ts --ui
|
||||
|
||||
test-all: ## Run all tests (unit + integration + e2e)
|
||||
@printf "$(BLUE)Running all tests...$(RESET)\n"
|
||||
@bun run test:all
|
||||
|
||||
##@ Code Quality
|
||||
|
||||
lint: ## Run all linting checks
|
||||
lint: ## Run linting and fix issues
|
||||
@printf "$(BLUE)Running linting checks...$(RESET)\n"
|
||||
@bun run lint
|
||||
|
||||
lint-fix: ## Fix linting issues
|
||||
@printf "$(BLUE)Fixing linting issues...$(RESET)\n"
|
||||
@bun run lint:fix
|
||||
|
||||
lint-markdown: ## Lint markdown files
|
||||
@printf "$(BLUE)Linting markdown files...$(RESET)\n"
|
||||
@bun run lint:markdown
|
||||
|
||||
lint-markdown-fix: ## Fix markdown linting issues
|
||||
@printf "$(BLUE)Fixing markdown linting issues...$(RESET)\n"
|
||||
@bun run lint:markdown:fix
|
||||
|
||||
lint-docker: ## Lint Dockerfile
|
||||
@printf "$(BLUE)Linting Dockerfile...$(RESET)\n"
|
||||
@bun run lint:docker
|
||||
|
||||
check-secrets: ## Check for secrets in code
|
||||
@printf "$(BLUE)Checking for secrets...$(RESET)\n"
|
||||
@bun run check:secrets
|
||||
|
||||
check-editorconfig: ## Check EditorConfig compliance
|
||||
@printf "$(BLUE)Checking EditorConfig compliance...$(RESET)\n"
|
||||
@bun run check:editorconfig
|
||||
|
||||
fix-editorconfig: ## Fix EditorConfig issues
|
||||
@printf "$(BLUE)Fixing EditorConfig issues...$(RESET)\n"
|
||||
@bun run fix:editorconfig
|
||||
@bun run lint:fix 2>/dev/null || true
|
||||
|
||||
pre-commit: ## Run pre-commit checks
|
||||
@printf "$(BLUE)Running pre-commit checks...$(RESET)\n"
|
||||
@bun run pre-commit
|
||||
|
||||
##@ Setup & Deployment
|
||||
|
||||
setup: ## Setup the project
|
||||
@printf "$(BLUE)Setting up project...$(RESET)\n"
|
||||
@bun run setup
|
||||
|
||||
deploy: ## Deploy the application
|
||||
@printf "$(BLUE)Deploying application...$(RESET)\n"
|
||||
@bun run deploy
|
||||
|
||||
undeploy: ## Undeploy the application (both k8s and docker)
|
||||
@printf "$(BLUE)Undeploying application...$(RESET)\n"
|
||||
@$(MAKE) undeploy-k8s
|
||||
@$(MAKE) undeploy-docker
|
||||
|
||||
undeploy-k8s: ## Undeploy from Kubernetes only
|
||||
@printf "$(BLUE)Undeploying from Kubernetes...$(RESET)\n"
|
||||
@if kubectl get deployment -l app=rxminder 2>/dev/null | grep -q rxminder; then \
|
||||
$(MAKE) k8s-undeploy; \
|
||||
else \
|
||||
printf "$(YELLOW)No Kubernetes deployments found for rxminder$(RESET)\n"; \
|
||||
fi
|
||||
|
||||
undeploy-docker: ## Stop and remove Docker Compose services
|
||||
@printf "$(BLUE)Undeploying Docker containers...$(RESET)\n"
|
||||
@if docker-compose -f docker/docker-compose.yaml ps --services 2>/dev/null | grep -q .; then \
|
||||
$(MAKE) docker-down; \
|
||||
else \
|
||||
printf "$(YELLOW)No Docker Compose services found running$(RESET)\n"; \
|
||||
fi
|
||||
|
||||
undeploy-docker-full: ## Stop, remove containers and delete volumes
|
||||
@printf "$(BLUE)Full Docker undeploy (includes volumes)...$(RESET)\n"
|
||||
@if docker-compose -f docker/docker-compose.yaml ps --services 2>/dev/null | grep -q .; then \
|
||||
$(MAKE) docker-down-volumes; \
|
||||
else \
|
||||
printf "$(YELLOW)No Docker Compose services found running$(RESET)\n"; \
|
||||
fi
|
||||
|
||||
validate-env: ## Validate environment configuration
|
||||
@printf "$(BLUE)Validating environment...$(RESET)\n"
|
||||
@bun run validate:env
|
||||
|
||||
validate-deployment: ## Validate deployment
|
||||
@printf "$(BLUE)Validating deployment...$(RESET)\n"
|
||||
@bun run validate:deployment
|
||||
|
||||
seed-production: ## Seed production database
|
||||
@printf "$(BLUE)Seeding production database...$(RESET)\n"
|
||||
@bun run seed:production
|
||||
|
||||
##@ Kubernetes
|
||||
|
||||
k8s-deploy: ## Deploy to Kubernetes (legacy shell script)
|
||||
@printf "$(BLUE)Deploying to Kubernetes (legacy)...$(RESET)\n"
|
||||
@bun run deploy:k8s
|
||||
|
||||
k8s-undeploy: ## Remove from Kubernetes (legacy shell script)
|
||||
@printf "$(BLUE)Removing from Kubernetes (legacy)...$(RESET)\n"
|
||||
@bun run undeploy:k8s
|
||||
|
||||
k8s-deploy-dry: ## Dry run Kubernetes deployment (legacy)
|
||||
@printf "$(BLUE)Dry run Kubernetes deployment (legacy)...$(RESET)\n"
|
||||
@bun run deploy:k8s --dry-run
|
||||
|
||||
k8s-undeploy-dry: ## Dry run Kubernetes removal (legacy)
|
||||
@printf "$(BLUE)Dry run Kubernetes removal (legacy)...$(RESET)\n"
|
||||
@bun run undeploy:k8s --dry-run
|
||||
|
||||
k8s-status: ## Show Kubernetes deployment status
|
||||
@printf "$(BLUE)Showing Kubernetes status...$(RESET)\n"
|
||||
@bun run deploy:k8s --status
|
||||
|
||||
##@ Kustomize (Recommended)
|
||||
|
||||
kustomize-deploy-dev: ## Deploy to Kubernetes using Kustomize (development)
|
||||
@printf "$(BLUE)Deploying to Kubernetes with Kustomize (dev)...$(RESET)\n"
|
||||
@kubectl apply -k k8s-kustomize/overlays/dev
|
||||
|
||||
kustomize-deploy-prod: ## Deploy to Kubernetes using Kustomize (production)
|
||||
@printf "$(BLUE)Deploying to Kubernetes with Kustomize (prod)...$(RESET)\n"
|
||||
@kubectl apply -k k8s-kustomize/overlays/prod
|
||||
|
||||
kustomize-undeploy-dev: ## Remove from Kubernetes using Kustomize (development)
|
||||
@printf "$(BLUE)Removing from Kubernetes with Kustomize (dev)...$(RESET)\n"
|
||||
@kubectl delete -k k8s-kustomize/overlays/dev --ignore-not-found=true
|
||||
|
||||
kustomize-undeploy-prod: ## Remove from Kubernetes using Kustomize (production)
|
||||
@printf "$(BLUE)Removing from Kubernetes with Kustomize (prod)...$(RESET)\n"
|
||||
@kubectl delete -k k8s-kustomize/overlays/prod --ignore-not-found=true
|
||||
|
||||
kustomize-dry-run-dev: ## Dry run Kustomize deployment (development)
|
||||
@printf "$(BLUE)Dry run Kustomize deployment (dev)...$(RESET)\n"
|
||||
@kubectl apply -k k8s-kustomize/overlays/dev --dry-run=client -o yaml
|
||||
|
||||
kustomize-dry-run-prod: ## Dry run Kustomize deployment (production)
|
||||
@printf "$(BLUE)Dry run Kustomize deployment (prod)...$(RESET)\n"
|
||||
@kubectl apply -k k8s-kustomize/overlays/prod --dry-run=client -o yaml
|
||||
|
||||
kustomize-validate-dev: ## Validate Kustomize configuration (development)
|
||||
@printf "$(BLUE)Validating Kustomize configuration (dev)...$(RESET)\n"
|
||||
@kubectl kustomize k8s-kustomize/overlays/dev | kubectl apply --dry-run=client --validate=true -f -
|
||||
|
||||
kustomize-validate-prod: ## Validate Kustomize configuration (production)
|
||||
@printf "$(BLUE)Validating Kustomize configuration (prod)...$(RESET)\n"
|
||||
@kubectl kustomize k8s-kustomize/overlays/prod | kubectl apply --dry-run=client --validate=true -f -
|
||||
|
||||
##@ Environment Configuration
|
||||
|
||||
generate-config-dev: ## Generate development configuration from environment variables
|
||||
@printf "$(BLUE)Generating development configuration...$(RESET)\n"
|
||||
@./scripts/generate-config.sh dev
|
||||
|
||||
generate-config-prod: ## Generate production configuration from environment variables
|
||||
@printf "$(BLUE)Generating production configuration...$(RESET)\n"
|
||||
@./scripts/generate-config.sh prod
|
||||
|
||||
generate-config-staging: ## Generate staging configuration from environment variables
|
||||
@printf "$(BLUE)Generating staging configuration...$(RESET)\n"
|
||||
@./scripts/generate-config.sh staging
|
||||
|
||||
generate-config-all: ## Generate all environment configurations
|
||||
@printf "$(BLUE)Generating all environment configurations...$(RESET)\n"
|
||||
@./scripts/generate-config.sh dev
|
||||
@./scripts/generate-config.sh prod
|
||||
@./scripts/generate-config.sh staging
|
||||
|
||||
validate-config: ## Validate generated configuration
|
||||
@printf "$(BLUE)Validating generated configuration...$(RESET)\n"
|
||||
@./scripts/generate-config.sh --validate
|
||||
|
||||
generate-secrets-template: ## Generate secrets template files
|
||||
@printf "$(BLUE)Generating secrets templates...$(RESET)\n"
|
||||
@./scripts/generate-config.sh dev --secrets
|
||||
@./scripts/generate-config.sh prod --secrets
|
||||
|
||||
kustomize-diff-dev: ## Show diff for Kustomize deployment (development)
|
||||
@printf "$(BLUE)Showing Kustomize diff (dev)...$(RESET)\n"
|
||||
@kubectl diff -k k8s-kustomize/overlays/dev || true
|
||||
|
||||
kustomize-diff-prod: ## Show diff for Kustomize deployment (production)
|
||||
@printf "$(BLUE)Showing Kustomize diff (prod)...$(RESET)\n"
|
||||
@kubectl diff -k k8s-kustomize/overlays/prod || true
|
||||
|
||||
kustomize-build-dev: ## Build Kustomize manifests (development)
|
||||
@printf "$(BLUE)Building Kustomize manifests (dev)...$(RESET)\n"
|
||||
@kubectl kustomize k8s-kustomize/overlays/dev
|
||||
|
||||
kustomize-build-prod: ## Build Kustomize manifests (production)
|
||||
@printf "$(BLUE)Building Kustomize manifests (prod)...$(RESET)\n"
|
||||
@kubectl kustomize k8s-kustomize/overlays/prod
|
||||
|
||||
kustomize-status-dev: ## Show Kustomize deployment status (development)
|
||||
@printf "$(BLUE)Showing Kustomize deployment status (dev)...$(RESET)\n"
|
||||
@kubectl get all -n rxminder-dev -l app=rxminder
|
||||
|
||||
kustomize-status-prod: ## Show Kustomize deployment status (production)
|
||||
@printf "$(BLUE)Showing Kustomize deployment status (prod)...$(RESET)\n"
|
||||
@kubectl get all -n rxminder-prod -l app=rxminder
|
||||
check: lint test-all ## Run complete quality check (lint + all tests)
|
||||
@printf "$(GREEN)Quality check completed!$(RESET)\n"
|
||||
|
||||
##@ Docker
|
||||
|
||||
docker-setup: ## Setup Docker buildx
|
||||
@printf "$(BLUE)Setting up Docker buildx...$(RESET)\n"
|
||||
@bun run docker:setup
|
||||
|
||||
docker-build: ## Build multi-platform Docker images
|
||||
@printf "$(BLUE)Building multi-platform Docker images...$(RESET)\n"
|
||||
@bun run docker:build
|
||||
|
||||
docker-build-local: ## Build local Docker image
|
||||
@printf "$(BLUE)Building local Docker image...$(RESET)\n"
|
||||
docker-build: ## Build Docker images (local and multi-platform)
|
||||
@printf "$(BLUE)Building Docker images...$(RESET)\n"
|
||||
@bun run docker:build-local
|
||||
@bun run docker:build 2>/dev/null || true
|
||||
|
||||
docker-bake: ## Build with Docker Bake
|
||||
@printf "$(BLUE)Building with Docker Bake...$(RESET)\n"
|
||||
@bun run docker:bake
|
||||
|
||||
docker-inspect: ## Inspect Docker buildx
|
||||
@printf "$(BLUE)Inspecting Docker buildx...$(RESET)\n"
|
||||
@bun run docker:inspect
|
||||
|
||||
docker-cleanup: ## Cleanup Docker buildx
|
||||
@printf "$(BLUE)Cleaning up Docker buildx...$(RESET)\n"
|
||||
@bun run docker:cleanup
|
||||
|
||||
docker-stop: ## Stop Docker Compose services
|
||||
@printf "$(BLUE)Stopping Docker Compose services...$(RESET)\n"
|
||||
@if docker-compose -f docker/docker-compose.yaml ps --services 2>/dev/null | grep -q .; then \
|
||||
docker-compose -f docker/docker-compose.yaml stop; \
|
||||
printf "$(GREEN)Docker Compose services stopped$(RESET)\n"; \
|
||||
else \
|
||||
printf "$(YELLOW)No Docker Compose services found running$(RESET)\n"; \
|
||||
fi
|
||||
|
||||
docker-down: ## Stop and remove Docker Compose containers
|
||||
@printf "$(BLUE)Stopping and removing Docker Compose containers...$(RESET)\n"
|
||||
docker-down: ## Stop and remove Docker containers
|
||||
@printf "$(BLUE)Stopping Docker containers...$(RESET)\n"
|
||||
@if docker-compose -f docker/docker-compose.yaml ps --services 2>/dev/null | grep -q .; then \
|
||||
docker-compose -f docker/docker-compose.yaml down; \
|
||||
printf "$(GREEN)Docker Compose containers stopped and removed$(RESET)\n"; \
|
||||
printf "$(GREEN)Docker containers stopped$(RESET)\n"; \
|
||||
else \
|
||||
printf "$(YELLOW)No Docker Compose services found running$(RESET)\n"; \
|
||||
printf "$(YELLOW)No containers running$(RESET)\n"; \
|
||||
fi
|
||||
|
||||
docker-down-volumes: ## Stop, remove containers and delete volumes
|
||||
@printf "$(BLUE)Stopping containers and removing volumes...$(RESET)\n"
|
||||
@if docker-compose -f docker/docker-compose.yaml ps --services 2>/dev/null | grep -q .; then \
|
||||
docker-compose -f docker/docker-compose.yaml down --volumes --remove-orphans; \
|
||||
printf "$(GREEN)Docker Compose containers and volumes removed$(RESET)\n"; \
|
||||
else \
|
||||
printf "$(YELLOW)No Docker Compose services found running$(RESET)\n"; \
|
||||
fi
|
||||
|
||||
docker-stop-all: ## Stop and remove ALL Docker containers (use with caution)
|
||||
@printf "$(BLUE)Stopping all Docker containers...$(RESET)\n"
|
||||
@docker stop $$(docker ps -aq) 2>/dev/null || true
|
||||
@docker rm $$(docker ps -aq) 2>/dev/null || true
|
||||
|
||||
docker-prune: ## Remove unused Docker images and volumes
|
||||
@printf "$(BLUE)Cleaning up Docker images and volumes...$(RESET)\n"
|
||||
docker-clean: docker-down ## Stop containers and clean up volumes/images
|
||||
@printf "$(BLUE)Cleaning Docker resources...$(RESET)\n"
|
||||
@docker-compose -f docker/docker-compose.yaml down --volumes --remove-orphans 2>/dev/null || true
|
||||
@docker image prune -f --filter "until=24h" 2>/dev/null || true
|
||||
@docker volume prune -f 2>/dev/null || true
|
||||
@docker system prune -f 2>/dev/null || true
|
||||
|
||||
##@ Gitea
|
||||
##@ Kubernetes Deployment
|
||||
|
||||
gitea-setup: ## Setup Gitea integration
|
||||
@printf "$(BLUE)Setting up Gitea integration...$(RESET)\n"
|
||||
@bun run gitea:setup
|
||||
deploy-dev: ## Deploy to development environment
|
||||
@printf "$(BLUE)Deploying to development...$(RESET)\n"
|
||||
@kubectl apply -k k8s-kustomize/overlays/dev
|
||||
|
||||
gitea-build: ## Build multi-platform images for Gitea
|
||||
@printf "$(BLUE)Building multi-platform images for Gitea...$(RESET)\n"
|
||||
@bun run gitea:build
|
||||
deploy-prod: ## Deploy to production environment
|
||||
@printf "$(BLUE)Deploying to production...$(RESET)\n"
|
||||
@kubectl apply -k k8s-kustomize/overlays/prod
|
||||
|
||||
gitea-build-local: ## Build local image for Gitea
|
||||
@printf "$(BLUE)Building local image for Gitea...$(RESET)\n"
|
||||
@bun run gitea:build-local
|
||||
undeploy-dev: ## Remove development deployment
|
||||
@printf "$(BLUE)Removing development deployment...$(RESET)\n"
|
||||
@kubectl delete -k k8s-kustomize/overlays/dev --ignore-not-found=true
|
||||
|
||||
gitea-build-staging: ## Build staging image for Gitea
|
||||
@printf "$(BLUE)Building staging image for Gitea...$(RESET)\n"
|
||||
@bun run gitea:build-staging
|
||||
undeploy-prod: ## Remove production deployment
|
||||
@printf "$(BLUE)Removing production deployment...$(RESET)\n"
|
||||
@kubectl delete -k k8s-kustomize/overlays/prod --ignore-not-found=true
|
||||
|
||||
gitea-build-prod: ## Build production image for Gitea
|
||||
@printf "$(BLUE)Building production image for Gitea...$(RESET)\n"
|
||||
@bun run gitea:build-prod
|
||||
status-dev: ## Show development deployment status
|
||||
@printf "$(BLUE)Development status...$(RESET)\n"
|
||||
@kubectl get all -n rxminder-dev -l app=rxminder 2>/dev/null || printf "$(YELLOW)No development deployment found$(RESET)\n"
|
||||
|
||||
gitea-test: ## Test Gitea integration
|
||||
@printf "$(BLUE)Testing Gitea integration...$(RESET)\n"
|
||||
@bun run gitea:test
|
||||
status-prod: ## Show production deployment status
|
||||
@printf "$(BLUE)Production status...$(RESET)\n"
|
||||
@kubectl get all -n rxminder-prod -l app=rxminder 2>/dev/null || printf "$(YELLOW)No production deployment found$(RESET)\n"
|
||||
|
||||
gitea-deploy: ## Deploy to Gitea
|
||||
@printf "$(BLUE)Deploying to Gitea...$(RESET)\n"
|
||||
@bun run gitea:deploy
|
||||
diff-dev: ## Show changes for development deployment
|
||||
@printf "$(BLUE)Development diff...$(RESET)\n"
|
||||
@kubectl diff -k k8s-kustomize/overlays/dev 2>/dev/null || true
|
||||
|
||||
gitea-status: ## Show Gitea deployment status
|
||||
@printf "$(BLUE)Showing Gitea status...$(RESET)\n"
|
||||
@bun run gitea:status
|
||||
diff-prod: ## Show changes for production deployment
|
||||
@printf "$(BLUE)Production diff...$(RESET)\n"
|
||||
@kubectl diff -k k8s-kustomize/overlays/prod 2>/dev/null || true
|
||||
|
||||
gitea-cleanup: ## Cleanup Gitea resources
|
||||
@printf "$(BLUE)Cleaning up Gitea resources...$(RESET)\n"
|
||||
@bun run gitea:cleanup
|
||||
validate-k8s: ## Validate Kubernetes configurations
|
||||
@printf "$(BLUE)Validating Kubernetes configs...$(RESET)\n"
|
||||
@kubectl kustomize k8s-kustomize/overlays/dev | kubectl apply --dry-run=client --validate=true -f - >/dev/null
|
||||
@kubectl kustomize k8s-kustomize/overlays/prod | kubectl apply --dry-run=client --validate=true -f - >/dev/null
|
||||
@printf "$(GREEN)Kubernetes validation passed!$(RESET)\n"
|
||||
|
||||
##@ Quick Commands
|
||||
##@ Configuration
|
||||
|
||||
generate-config: ## Generate configuration for all environments
|
||||
@printf "$(BLUE)Generating configurations...$(RESET)\n"
|
||||
@./scripts/generate-config.sh dev 2>/dev/null || true
|
||||
@./scripts/generate-config.sh prod 2>/dev/null || true
|
||||
@./scripts/generate-config.sh staging 2>/dev/null || true
|
||||
@printf "$(GREEN)Configurations generated!$(RESET)\n"
|
||||
|
||||
validate-config: ## Validate generated configuration
|
||||
@printf "$(BLUE)Validating configuration...$(RESET)\n"
|
||||
@./scripts/generate-config.sh --validate 2>/dev/null || printf "$(YELLOW)Config validation not available$(RESET)\n"
|
||||
|
||||
##@ Workflows
|
||||
|
||||
start: dev ## Alias for dev (start development server)
|
||||
|
||||
build-and-test: build test ## Build and run tests
|
||||
build-test: build test ## Build and run unit tests
|
||||
@printf "$(GREEN)Build and test completed!$(RESET)\n"
|
||||
|
||||
full-check-backend: lint test-backend ## Run backend code quality check (unit + integration tests only)
|
||||
@printf "$(GREEN)Backend check completed!$(RESET)\n"
|
||||
|
||||
full-check: lint test-all ## Run full code quality check (includes unit + integration + E2E tests)
|
||||
@printf "$(GREEN)Full check completed!$(RESET)\n"
|
||||
|
||||
# Legacy deployment (using shell scripts)
|
||||
quick-deploy: build k8s-deploy ## Quick build and deploy to Kubernetes (legacy)
|
||||
@printf "$(GREEN)Quick deployment completed!$(RESET)\n"
|
||||
|
||||
# Kustomize deployment shortcuts
|
||||
deploy-dev: kustomize-deploy-dev ## Deploy to development environment with Kustomize
|
||||
@printf "$(GREEN)Development deployment completed!$(RESET)\n"
|
||||
|
||||
deploy-prod: kustomize-deploy-prod ## Deploy to production environment with Kustomize
|
||||
@printf "$(GREEN)Production deployment completed!$(RESET)\n"
|
||||
|
||||
quick-deploy-dev: build deploy-dev ## Build and deploy to development with Kustomize
|
||||
deploy-dev-quick: build deploy-dev ## Build and deploy to development
|
||||
@printf "$(GREEN)Quick development deployment completed!$(RESET)\n"
|
||||
|
||||
quick-deploy-prod: build deploy-prod ## Build and deploy to production with Kustomize
|
||||
deploy-prod-quick: build deploy-prod ## Build and deploy to production
|
||||
@printf "$(GREEN)Quick production deployment completed!$(RESET)\n"
|
||||
|
||||
undeploy-dev: kustomize-undeploy-dev ## Remove development deployment
|
||||
@printf "$(GREEN)Development undeploy completed!$(RESET)\n"
|
||||
undeploy-all: undeploy-dev undeploy-prod docker-clean ## Remove all deployments and clean Docker
|
||||
@printf "$(GREEN)Complete cleanup completed!$(RESET)\n"
|
||||
|
||||
undeploy-prod: kustomize-undeploy-prod ## Remove production deployment
|
||||
@printf "$(GREEN)Production undeploy completed!$(RESET)\n"
|
||||
ci-check: check validate-k8s ## Complete CI/CD validation pipeline
|
||||
@printf "$(GREEN)CI/CD checks passed!$(RESET)\n"
|
||||
|
||||
status-dev: kustomize-status-dev ## Show development deployment status
|
||||
@printf "$(GREEN)Development status check completed!$(RESET)\n"
|
||||
##@ Legacy Support (Deprecated)
|
||||
|
||||
status-prod: kustomize-status-prod ## Show production deployment status
|
||||
@printf "$(GREEN)Production status check completed!$(RESET)\n"
|
||||
k8s-deploy: ## [DEPRECATED] Use deploy-dev instead
|
||||
@printf "$(YELLOW)Warning: k8s-deploy is deprecated. Use 'make deploy-dev' instead.$(RESET)\n"
|
||||
@$(MAKE) deploy-dev
|
||||
|
||||
validate-kustomize: kustomize-validate-dev kustomize-validate-prod ## Validate all Kustomize configurations
|
||||
@printf "$(GREEN)Kustomize validation completed!$(RESET)\n"
|
||||
k8s-undeploy: ## [DEPRECATED] Use undeploy-dev instead
|
||||
@printf "$(YELLOW)Warning: k8s-undeploy is deprecated. Use 'make undeploy-dev' instead.$(RESET)\n"
|
||||
@$(MAKE) undeploy-dev
|
||||
|
||||
##@ Environment-Aware Deployment
|
||||
deploy: ## [DEPRECATED] Use deploy-dev or deploy-prod instead
|
||||
@printf "$(YELLOW)Warning: deploy is deprecated. Use 'make deploy-dev' or 'make deploy-prod' instead.$(RESET)\n"
|
||||
@$(MAKE) deploy-dev
|
||||
|
||||
deploy-with-env-dev: ## Deploy to development using environment variables
|
||||
@printf "$(BLUE)Deploying to development with environment variables...$(RESET)\n"
|
||||
@./scripts/deploy-with-env.sh dev apply
|
||||
|
||||
deploy-with-env-prod: ## Deploy to production using environment variables
|
||||
@printf "$(BLUE)Deploying to production with environment variables...$(RESET)\n"
|
||||
@./scripts/deploy-with-env.sh prod apply
|
||||
|
||||
deploy-with-env-staging: ## Deploy to staging using environment variables
|
||||
@printf "$(BLUE)Deploying to staging with environment variables...$(RESET)\n"
|
||||
@./scripts/deploy-with-env.sh staging apply
|
||||
|
||||
undeploy-with-env-dev: ## Remove development deployment using environment variables
|
||||
@printf "$(BLUE)Removing development deployment with environment variables...$(RESET)\n"
|
||||
@./scripts/deploy-with-env.sh dev delete
|
||||
|
||||
undeploy-with-env-prod: ## Remove production deployment using environment variables
|
||||
@printf "$(BLUE)Removing production deployment with environment variables...$(RESET)\n"
|
||||
@./scripts/deploy-with-env.sh prod delete
|
||||
|
||||
diff-with-env-dev: ## Show development diff using environment variables
|
||||
@printf "$(BLUE)Showing development diff with environment variables...$(RESET)\n"
|
||||
@./scripts/deploy-with-env.sh dev diff
|
||||
|
||||
diff-with-env-prod: ## Show production diff using environment variables
|
||||
@printf "$(BLUE)Showing production diff with environment variables...$(RESET)\n"
|
||||
@./scripts/deploy-with-env.sh prod diff
|
||||
|
||||
status-with-env-dev: ## Show development status using environment variables
|
||||
@printf "$(BLUE)Showing development status with environment variables...$(RESET)\n"
|
||||
@./scripts/deploy-with-env.sh dev status
|
||||
|
||||
status-with-env-prod: ## Show production status using environment variables
|
||||
@printf "$(BLUE)Showing production status with environment variables...$(RESET)\n"
|
||||
@./scripts/deploy-with-env.sh prod status
|
||||
|
||||
reset: clean install ## Reset project (clean and reinstall)
|
||||
@printf "$(GREEN)Project reset completed!$(RESET)\n"
|
||||
undeploy: ## [DEPRECATED] Use undeploy-dev, undeploy-prod, or undeploy-all instead
|
||||
@printf "$(YELLOW)Warning: undeploy is deprecated. Use 'make undeploy-all' instead.$(RESET)\n"
|
||||
@$(MAKE) undeploy-all
|
||||
|
||||
Reference in New Issue
Block a user