feat(deploy): implementar init.sh, desplegar.sh, servicio systemd y desplegar en CT 132
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
#!/usr/bin/env bash
|
||||
# ==============================================================================
|
||||
# Help Desk — Script de Inicialización y Gestión Local
|
||||
# Ecosistema Telcotronics
|
||||
# ==============================================================================
|
||||
|
||||
set -e
|
||||
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
YELLOW='\033[1;33m'
|
||||
RED='\033[0;31m'
|
||||
CYAN='\033[0;36m'
|
||||
NC='\033[0m'
|
||||
|
||||
echo -e "${BLUE}=====================================================${NC}"
|
||||
echo -e "${BLUE}🔧 Help Desk — Inicialización y Entorno Local${NC}"
|
||||
echo -e "${BLUE}=====================================================${NC}"
|
||||
|
||||
# 1. Verificar Node.js
|
||||
echo -e "${YELLOW}[1/4] Verificando versión de Node.js...${NC}"
|
||||
NODE_VER=$(node -v 2>/dev/null || true)
|
||||
if [ -z "$NODE_VER" ]; then
|
||||
echo -e "${RED}❌ Error: Node.js no está instalado.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
echo -e "${GREEN}✓ Node.js detectado: $NODE_VER${NC}"
|
||||
|
||||
# 2. Verificar o generar archivo .env
|
||||
echo -e "${YELLOW}[2/4] Verificando configuración .env...${NC}"
|
||||
if [ ! -f .env ]; then
|
||||
if [ -f .env.example ]; then
|
||||
cp .env.example .env
|
||||
echo -e "${CYAN}ℹ️ Se ha creado .env a partir de .env.example. Por favor revisa las credenciales de BD.${NC}"
|
||||
else
|
||||
echo -e "${RED}❌ Error: No se encontró .env ni .env.example.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo -e "${GREEN}✓ Archivo .env presente.${NC}"
|
||||
fi
|
||||
|
||||
# 3. Verificar dependencias
|
||||
echo -e "${YELLOW}[3/4] Verificando dependencias npm...${NC}"
|
||||
if [ ! -d "node_modules" ]; then
|
||||
echo -e "${CYAN}Instalando dependencias de Node.js...${NC}"
|
||||
npm install
|
||||
else
|
||||
echo -e "${GREEN}✓ Directorio node_modules presente.${NC}"
|
||||
fi
|
||||
|
||||
# 4. Menú de Opciones
|
||||
echo -e "${YELLOW}[4/4] Selecciona una acción:${NC}"
|
||||
echo -e " ${CYAN}1)${NC} Iniciar servidor en modo desarrollo (node app.js)"
|
||||
echo -e " ${CYAN}2)${NC} Ejecutar setup y migraciones de Base de Datos (node config/setup.js)"
|
||||
echo -e " ${CYAN}3)${NC} Probar flujo de visitas técnicas FSM (node scripts/test_visita_flow.js)"
|
||||
echo -e " ${CYAN}4)${NC} Consultar bitácora centralizada de errores (npm run check:errors)"
|
||||
echo -e " ${CYAN}5)${NC} Desplegar a producción en CT 132 (./desplegar.sh)"
|
||||
echo -e " ${CYAN}6)${NC} Salir"
|
||||
echo -n "Opción [1-6]: "
|
||||
read -r OPCION
|
||||
|
||||
case "$OPCION" in
|
||||
1)
|
||||
echo -e "${GREEN}Iniciando Help Desk en http://localhost:3008...${NC}"
|
||||
node app.js
|
||||
;;
|
||||
2)
|
||||
echo -e "${GREEN}Ejecutando setup y migraciones de MariaDB...${NC}"
|
||||
node config/setup.js
|
||||
;;
|
||||
3)
|
||||
echo -e "${GREEN}Ejecutando prueba integral de visitas técnicas...${NC}"
|
||||
node scripts/test_visita_flow.js
|
||||
;;
|
||||
4)
|
||||
echo -e "${GREEN}Consultando bitácora de errores...${NC}"
|
||||
npm run check:errors
|
||||
;;
|
||||
5)
|
||||
echo -e "${GREEN}Iniciando despliegue hacia CT 132...${NC}"
|
||||
./desplegar.sh
|
||||
;;
|
||||
6)
|
||||
echo "Operación cancelada."
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}Opción no válida.${NC}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user