-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
85 lines (59 loc) · 2.09 KB
/
Makefile
File metadata and controls
85 lines (59 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
.PHONY: help dev build start install db-push db-seed docker-build docker-up k8s-deploy k8s-status k8s-logs
# Variables
IMAGE_NAME ?= your-registry/wapi
IMAGE_TAG ?= latest
help: ## Mostrar esta ayuda
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
install: ## Instalar dependencias
pnpm install
dev: ## Iniciar servidor de desarrollo
pnpm dev
build: ## Construir para producción
pnpm build
start: ## Iniciar servidor de producción
pnpm start
db-push: ## Aplicar cambios del esquema a la base de datos
pnpm db:push
db-seed: ## Poblar la base de datos con datos iniciales
pnpm db:seed
db-studio: ## Abrir Drizzle Studio
pnpm db:studio
# Docker commands
docker-build: ## Construir imagen Docker
docker build -t $(IMAGE_NAME):$(IMAGE_TAG) .
docker-push: ## Subir imagen a registro
docker push $(IMAGE_NAME):$(IMAGE_TAG)
docker-up: ## Iniciar con Docker Compose
docker-compose up
docker-dev: ## Iniciar en modo desarrollo con Docker
docker-compose --profile dev up wapi-dev
docker-down: ## Detener Docker Compose
docker-compose down
# Kubernetes commands
k8s-check: ## Verificar requisitos para Kubernetes
./deploy.sh check
k8s-deploy: ## Desplegar en Kubernetes
./deploy.sh deploy
k8s-full: ## Build, push y deploy en Kubernetes
IMAGE_NAME=$(IMAGE_NAME) IMAGE_TAG=$(IMAGE_TAG) ./deploy.sh full
k8s-status: ## Ver estado del deployment en Kubernetes
./deploy.sh status
k8s-logs: ## Ver logs de la aplicación en Kubernetes
./deploy.sh logs
k8s-shell: ## Abrir shell en el pod
./deploy.sh shell
k8s-update: ## Actualizar deployment con nueva imagen
IMAGE_NAME=$(IMAGE_NAME) IMAGE_TAG=$(IMAGE_TAG) ./deploy.sh update
k8s-rollback: ## Hacer rollback del deployment
./deploy.sh rollback
k8s-backup: ## Crear backup de volúmenes
./deploy.sh backup
k8s-delete: ## Eliminar deployment de Kubernetes
./deploy.sh delete
# Cleanup
clean: ## Limpiar archivos temporales
rm -rf .next
rm -rf node_modules/.cache
clean-all: clean ## Limpiar todo incluido node_modules
rm -rf node_modules
rm -rf pnpm-lock.yaml