Afegit botó per ocultar/mostrar els jugadors
Some checks failed
CI/CD - Francia Ocupada (La Resistencia) / build-and-deploy (push) Failing after 7s
Some checks failed
CI/CD - Francia Ocupada (La Resistencia) / build-and-deploy (push) Failing after 7s
This commit is contained in:
176
DEPLOYMENT-SUMMARY.md
Normal file
176
DEPLOYMENT-SUMMARY.md
Normal file
@@ -0,0 +1,176 @@
|
||||
# 🎯 Resumen de Configuración CI/CD
|
||||
|
||||
## ✅ Lo que hemos hecho
|
||||
|
||||
### 1. Workflow de Gitea Actions
|
||||
- **Archivo**: `.gitea/workflows/deployment.yml`
|
||||
- **Trigger**: Push a `main` o `master`
|
||||
- **Runner**: `production-ready` (tu runner configurado)
|
||||
- **Acciones**:
|
||||
- ✅ Checkout del código
|
||||
- ✅ Configuración de Node.js 20
|
||||
- ✅ Detención de contenedores anteriores
|
||||
- ✅ Limpieza de imágenes antiguas
|
||||
- ✅ Construcción de imágenes Docker
|
||||
- ✅ Despliegue con docker-compose_prod.yml
|
||||
- ✅ Verificación de estado
|
||||
- ✅ Logs de debugging
|
||||
|
||||
### 2. Documentación
|
||||
- **CI-CD-README.md**: Guía completa de uso y troubleshooting
|
||||
- **monitor-deploy.sh**: Script interactivo de monitoreo
|
||||
|
||||
### 3. Commit y Push
|
||||
- ✅ Commit realizado: `273a228`
|
||||
- ✅ Push a origin/main completado
|
||||
- ✅ Workflow debería estar ejecutándose ahora
|
||||
|
||||
## 🚀 Próximos Pasos
|
||||
|
||||
### 1. Verificar que el Workflow se está ejecutando
|
||||
|
||||
Abre tu navegador y ve a:
|
||||
```
|
||||
http://gitea.local:3000/marti/FranciaOcupada/actions
|
||||
```
|
||||
|
||||
Deberías ver el workflow "CI/CD - Francia Ocupada (La Resistencia)" ejecutándose.
|
||||
|
||||
### 2. Monitorear el Despliegue
|
||||
|
||||
Desde tu servidor donde está el runner, ejecuta:
|
||||
```bash
|
||||
cd /home/marti/Documentos/Gitea/resistencia
|
||||
./monitor-deploy.sh
|
||||
```
|
||||
|
||||
O manualmente:
|
||||
```bash
|
||||
# Ver estado de contenedores
|
||||
docker compose -f docker-compose_prod.yml ps
|
||||
|
||||
# Ver logs en tiempo real
|
||||
docker compose -f docker-compose_prod.yml logs -f
|
||||
```
|
||||
|
||||
### 3. Verificar el Despliegue
|
||||
|
||||
Una vez completado el workflow, verifica:
|
||||
|
||||
**Frontend**: https://franciaocupada.martivich.es
|
||||
**API**: https://api.franciaocupada.martivich.es
|
||||
|
||||
## 🔍 Cómo Saber si Funcionó
|
||||
|
||||
### En Gitea Web UI
|
||||
1. Ve a Actions en tu repositorio
|
||||
2. Busca el workflow más reciente
|
||||
3. Todos los pasos deberían tener un ✅ verde
|
||||
4. El último paso mostrará las URLs de la aplicación
|
||||
|
||||
### En el Servidor
|
||||
```bash
|
||||
# Deberías ver 3 contenedores corriendo
|
||||
docker compose -f docker-compose_prod.yml ps
|
||||
|
||||
# Salida esperada:
|
||||
# NAME STATUS PORTS
|
||||
# resistencia-client Up 0.0.0.0:3000->3000/tcp
|
||||
# resistencia-server Up 0.0.0.0:4000->4000/tcp
|
||||
# resistencia-db Up 0.0.0.0:5432->5432/tcp
|
||||
```
|
||||
|
||||
## 🧪 Hacer una Prueba de Despliegue
|
||||
|
||||
### Opción A: Cambio real
|
||||
```bash
|
||||
# Hacer un cambio pequeño
|
||||
echo "# CI/CD Test" >> README.md
|
||||
git add README.md
|
||||
git commit -m "test: Verificación de CI/CD"
|
||||
git push origin main
|
||||
```
|
||||
|
||||
### Opción B: Commit vacío
|
||||
```bash
|
||||
# Trigger sin cambios
|
||||
git commit --allow-empty -m "test: Trigger CI/CD workflow"
|
||||
git push origin main
|
||||
```
|
||||
|
||||
### Opción C: Ejecución manual
|
||||
1. Ve a http://gitea.local:3000/marti/FranciaOcupada/actions
|
||||
2. Click en el workflow
|
||||
3. Click en "Run workflow"
|
||||
4. Selecciona la rama `main`
|
||||
5. Click en "Run"
|
||||
|
||||
## 📊 Diferencias con el Ejemplo Original
|
||||
|
||||
### Tu Proyecto vs HolaMundo
|
||||
|
||||
| Aspecto | HolaMundo | Francia Ocupada |
|
||||
|---------|-----------|-----------------|
|
||||
| **Imagen** | Una sola imagen | 3 servicios (client, server, db) |
|
||||
| **Herramienta** | `docker build` | `docker compose` |
|
||||
| **Config** | Dockerfile simple | docker-compose_prod.yml |
|
||||
| **Puerto** | 8080 | 3000 (client), 4000 (server) |
|
||||
| **Complejidad** | Baja | Media-Alta |
|
||||
|
||||
### Adaptaciones Realizadas
|
||||
|
||||
1. **Docker Compose en lugar de Docker directo**
|
||||
- Usamos `docker compose -f docker-compose_prod.yml` en todos los pasos
|
||||
|
||||
2. **Múltiples servicios**
|
||||
- Cliente (Next.js)
|
||||
- Servidor (Node.js + Socket.IO)
|
||||
- Base de datos (PostgreSQL)
|
||||
|
||||
3. **Variables de entorno de producción**
|
||||
- `NEXT_PUBLIC_API_URL=https://api.franciaocupada.martivich.es`
|
||||
- `CORS_ORIGIN=https://franciaocupada.martivich.es`
|
||||
|
||||
4. **Verificación mejorada**
|
||||
- Comprueba que los 3 contenedores estén corriendo
|
||||
- Muestra logs de cada servicio
|
||||
|
||||
## 🛠️ Troubleshooting Rápido
|
||||
|
||||
### El workflow no se ejecuta
|
||||
- Verifica que el runner esté corriendo: `docker ps | grep gitea-act_runner`
|
||||
- Verifica la conexión del runner con Gitea
|
||||
|
||||
### El workflow falla en el build
|
||||
- Revisa los logs en Gitea Actions
|
||||
- Construye manualmente: `docker compose -f docker-compose_prod.yml build`
|
||||
|
||||
### Los contenedores no inician
|
||||
- Verifica puertos disponibles: `sudo lsof -i :3000 :4000 :5432`
|
||||
- Revisa logs: `docker compose -f docker-compose_prod.yml logs`
|
||||
|
||||
### La aplicación no responde
|
||||
- Espera 30-60 segundos después del deploy
|
||||
- Verifica que los contenedores estén "Up": `docker compose -f docker-compose_prod.yml ps`
|
||||
- Revisa logs del cliente y servidor
|
||||
|
||||
## 📝 Archivos Creados
|
||||
|
||||
```
|
||||
resistencia/
|
||||
├── .gitea/
|
||||
│ └── workflows/
|
||||
│ └── deployment.yml # Workflow de CI/CD
|
||||
├── CI-CD-README.md # Documentación detallada
|
||||
├── monitor-deploy.sh # Script de monitoreo
|
||||
└── DEPLOYMENT-SUMMARY.md # Este archivo
|
||||
```
|
||||
|
||||
## 🎉 ¡Listo!
|
||||
|
||||
Tu proyecto ahora tiene CI/CD automático. Cada vez que hagas push a `main`, se desplegará automáticamente en producción.
|
||||
|
||||
**URLs de Verificación**:
|
||||
- 🌐 Frontend: https://franciaocupada.martivich.es
|
||||
- 🔌 API: https://api.franciaocupada.martivich.es
|
||||
- 🔧 Gitea Actions: http://gitea.local:3000/marti/FranciaOcupada/actions
|
||||
Reference in New Issue
Block a user