Makefile 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. export REGISTRO=harbor.reymota.es\/jugaralpadel
  2. export NAMESPACE = jugaralpadel
  3. VERSION_FILE = .version
  4. # Get current version or default to alpine-1
  5. IMG_VERSION := $(shell cat $(VERSION_FILE) 2>/dev/null || echo "alpine-1")
  6. # Get built version for deployment targets
  7. BUILT_VERSION := $(shell cat .current_version 2>/dev/null || echo "$(IMG_VERSION)")
  8. export IMG_VERSION
  9. help:
  10. @echo ""
  11. @echo "Comandos disponibles:"
  12. @echo ""
  13. @grep "^[[:lower:]]" Makefile | grep -v "^\." | grep "##" | awk -F':.*## ' '{printf " \033[1m%-20s\033[0m %s\n", $$1, $$2}'
  14. @echo ""
  15. all: imagen clean install ## Crea todo (excepto las claims)
  16. imagen: ## Crea la imagen
  17. @echo "Building image with version: $(IMG_VERSION)"
  18. @# Store current version for other targets to use
  19. @echo "$(IMG_VERSION)" > .current_version
  20. cd ../; make
  21. @# Increment version for next build
  22. @echo "$(IMG_VERSION)" | sed 's/alpine-\([0-9]*\)/alpine-\1/' | awk -F'-' '{print "alpine-" $$2+1}' > $(VERSION_FILE)
  23. @echo "Next version will be: $$(cat $(VERSION_FILE))"
  24. ns: ## Crea el namespace
  25. -cat namespace.yaml | sed -e "s/<NS>/${NAMESPACE}/" |kubectl create -f -
  26. install: ## Instala todo (excepto las claims)
  27. -cat reg-secret.yaml| sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
  28. -cat env-prod-configmap.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
  29. -cat jugaralpadel-deployment.yaml | sed -e "s/<NS>/${NAMESPACE}/" | sed -e "s/<TAG>/${BUILT_VERSION}/" | sed -e "s/<REGISTRO>/${REGISTRO}/" | kubectl create -f -
  30. -cat jugaralpadel-ingress.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
  31. clean: ## Borra todo (excepto las claims)
  32. -cat jugaralpadel-ingress.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
  33. -cat jugaralpadel-deployment.yaml | sed -e "s/<NS>/${NAMESPACE}/" | sed -e "s/<TAG>/${BUILT_VERSION}/" | sed -e "s/<REGISTRO>/${REGISTRO}/" | kubectl delete -f -
  34. -cat env-prod-configmap.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
  35. -cat reg-secret.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
  36. service: ## Crea el servicio con NodePort
  37. -cat jugaralpadel-service.yaml| sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
  38. servicelb: ## Crea el servicio con LoadBalancer
  39. -cat jugaralpadel-service-lb.yaml| sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
  40. borraclaims: ## Borra las claims
  41. -cat pvc-jugaralpadel.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
  42. -cat pvc-static.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
  43. claims: ## Crea las claims
  44. -cat pvc-jugaralpadel.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
  45. -cat pvc-static.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
  46. app: ## Despliega la app
  47. -cat jugaralpadel-deployment.yaml | sed -e "s/<NS>/${NAMESPACE}/" | sed -e "s/<TAG>/${BUILT_VERSION}/" | sed -e "s/<REGISTRO>/${REGISTRO}/" | kubectl delete -f -
  48. -cat jugaralpadel-deployment.yaml | sed -e "s/<NS>/${NAMESPACE}/" | sed -e "s/<TAG>/${BUILT_VERSION}/" | sed -e "s/<REGISTRO>/${REGISTRO}/" | kubectl create -f -
  49. db: ## Crea la base de datos en el cluster
  50. -kubectl create -f jugaralpadel-db.yaml