142 lines
3.6 KiB
Markdown
142 lines
3.6 KiB
Markdown
# ✅ Resumen: Despliegue en Puerto 8607 Configurado
|
|
|
|
## 🎯 Lo que se ha configurado
|
|
|
|
### 1. **Configuración PM2 (Puerto 8607)**
|
|
- ✅ `ecosystem.config.js` actualizado para puerto 8607
|
|
- ✅ Configuración optimizada con límites de memoria
|
|
- ✅ Logs configurados en `./logs/`
|
|
|
|
### 2. **Script de Deploy Mejorado**
|
|
- ✅ `deploy.sh` con validaciones completas
|
|
- ✅ Soporte para `--skip-git` (útil para webhooks)
|
|
- ✅ Colores y logging mejorado
|
|
- ✅ Verificación de entorno (Node.js, npm, PM2)
|
|
- ✅ Verificación de build exitoso
|
|
|
|
### 3. **Auto-Deploy desde GitHub**
|
|
Tres opciones disponibles:
|
|
|
|
#### ⭐ Opción 1: GitHub Actions (Recomendado)
|
|
- ✅ Workflow creado: `.github/workflows/deploy.yml`
|
|
- ✅ Se ejecuta automáticamente en cada push a `main`
|
|
- ✅ Requiere configurar secrets en GitHub
|
|
|
|
#### Opción 2: Webhook de GitHub
|
|
- ✅ Script creado: `webhook-deploy.sh`
|
|
- ✅ Requiere servidor webhook en el servidor
|
|
|
|
#### Opción 3: Polling con Cron
|
|
- ✅ Documentado en `DEPLOYMENT_SERVER.md`
|
|
- ✅ Verifica cambios cada 5 minutos
|
|
|
|
### 4. **Documentación Completa**
|
|
- ✅ `DEPLOYMENT_SERVER.md` con guía paso a paso
|
|
- ✅ Solución de problemas
|
|
- ✅ Comandos útiles
|
|
- ✅ Checklist de despliegue
|
|
|
|
---
|
|
|
|
## 🚀 Próximos Pasos en el Servidor
|
|
|
|
### Paso 1: Configurar GitHub Actions (Recomendado)
|
|
|
|
1. **Añadir Secrets en GitHub:**
|
|
- Ve a: `https://github.com/tu-usuario/guia-tes-digital/settings/secrets/actions`
|
|
- Añade estos secrets:
|
|
```
|
|
SERVER_HOST = tu-servidor-ip-o-dominio
|
|
SERVER_USER = tu-usuario-ssh
|
|
SERVER_SSH_KEY = (contenido de tu clave privada SSH)
|
|
SERVER_PORT = 22 (o el puerto que uses)
|
|
APP_PATH = /ruta/completa/a/tu/app
|
|
```
|
|
|
|
2. **Probar el workflow:**
|
|
- Ve a: `Actions > Auto Deploy to Server > Run workflow`
|
|
- O simplemente haz un push a `main`
|
|
|
|
### Paso 2: Configuración Inicial en el Servidor
|
|
|
|
```bash
|
|
# 1. Clonar repositorio
|
|
cd /ruta/donde/quieres/la/app
|
|
git clone https://github.com/tu-usuario/guia-tes-digital.git
|
|
cd guia-tes-digital
|
|
|
|
# 2. Hacer ejecutable el script
|
|
chmod +x deploy.sh
|
|
|
|
# 3. Primer deploy manual
|
|
./deploy.sh
|
|
|
|
# 4. Verificar que funciona
|
|
pm2 list
|
|
pm2 logs emerges-tes
|
|
|
|
# 5. Configurar PM2 para iniciar al boot
|
|
pm2 startup
|
|
pm2 save
|
|
```
|
|
|
|
### Paso 3: Verificar Acceso
|
|
|
|
- **Local:** `http://localhost:8607`
|
|
- **Red:** `http://tu-servidor-ip:8607`
|
|
|
|
---
|
|
|
|
## 📋 Archivos Creados/Modificados
|
|
|
|
1. ✅ `ecosystem.config.js` - Configuración PM2 (puerto 8607)
|
|
2. ✅ `deploy.sh` - Script de deploy mejorado
|
|
3. ✅ `.github/workflows/deploy.yml` - GitHub Actions workflow
|
|
4. ✅ `webhook-deploy.sh` - Script webhook alternativo
|
|
5. ✅ `DEPLOYMENT_SERVER.md` - Documentación completa
|
|
6. ✅ `package.json` - Actualizado `start:production` a puerto 8607
|
|
|
|
---
|
|
|
|
## 🔍 Comandos Rápidos
|
|
|
|
```bash
|
|
# Deploy manual completo
|
|
./deploy.sh
|
|
|
|
# Deploy sin git pull (para webhooks)
|
|
./deploy.sh --skip-git
|
|
|
|
# Ver estado PM2
|
|
pm2 list
|
|
|
|
# Ver logs
|
|
pm2 logs emerges-tes
|
|
|
|
# Reiniciar manualmente
|
|
pm2 restart emerges-tes
|
|
```
|
|
|
|
---
|
|
|
|
## ⚠️ Importante
|
|
|
|
1. **Secrets de GitHub:** No compartas tus secrets públicamente
|
|
2. **SSH Key:** Usa una clave SSH dedicada para GitHub Actions
|
|
3. **Firewall:** Asegúrate de que el puerto 8607 esté abierto
|
|
4. **Permisos:** Verifica que el usuario tenga permisos para ejecutar PM2
|
|
|
|
---
|
|
|
|
## 📞 Si algo falla
|
|
|
|
1. Revisar logs: `pm2 logs emerges-tes`
|
|
2. Verificar estado: `pm2 list`
|
|
3. Probar deploy manual: `./deploy.sh`
|
|
4. Verificar puerto: `netstat -tlnp | grep 8607`
|
|
5. Revisar documentación: `DEPLOYMENT_SERVER.md`
|
|
|
|
---
|
|
|
|
**Todo está listo para desplegar en el puerto 8607 con auto-actualización desde GitHub! 🎉**
|