CI/CD y Automatización DevOps
Docker, GitHub Actions, Nginx - un comando genera configuración de nivel de producción
Configuración DevOps, cada vez es una pesadilla
YAML de GitHub Actions con sangría errónea por un carácter, toda la pipeline se cae. Mensaje de error solo dice "syntax error", tienes que mirar fijamente cientos de líneas de YAML para encontrar ese espacio extra.
"Funciona bien en mi máquina" - frase clásica. Versión de imagen Docker incorrecta, variables de entorno no pasadas, mapeo de puerto invertido, cada deploy es una aventura.
Configuración de Nginx copiada de internet, certificado HTTPS no funciona, reverse proxy 502, access log lleno de 404. Después de tres horas tinkering, descubriste que falta barra diagonal en proxy_pass.
OpenClaw te genera configuración de nivel de producción
OpenClaw analiza la estructura de tu proyecto - qué lenguaje, qué framework, qué servicios depende, qué variables de entorno necesita, luego genera configuración específica.
El Dockerfile generado no es simplemente tirar imagen latest. Multi-stage build, compresión de imagen, mejores prácticas de seguridad, todo considerado por ti.
El workflow de GitHub Actions tampoco es solo ejecutar npm test. Estrategia de caché, tareas paralelas, deploy condicional, gestión de Secret, producción debe tener todo. Lo más importante - el YAML generado nunca tendrá error de sangría.
DevOps Prompt, copiar y usar
Docker, CI/CD, Nginx tres piezas, cada uno es configuración de nivel de producción.
Analiza este proyecto Node.js, genera configuración Docker completa:
Requisitos de Dockerfile:
1. Multi-stage build (builder + production)
2. Usa imagen base Alpine, imagen final lo más pequeña posible
3. Ejecuta con usuario no-root
4. Aprovecha capas de caché razonablemente (primero COPY package.json luego npm install)
5. Agrega healthcheck
Requisitos de docker-compose.yml:
1. Servicio de aplicación + base de datos (PostgreSQL) + Redis
2. Separa dev y prod (usa profiles o archivos override)
3. Volúmenes de persistencia de datos
4. Aislamiento de red
5. Variables de entorno usando archivo .env
Incluye .dockerignore y explicaciones necesarias.
Configura pipeline de CI/CD completo de GitHub Actions para este proyecto.
Requisitos de workflow:
1. CI (se dispara en cada push y PR):
- Verificación de código: ESLint / Prettier
- Prueba unitaria + reporte de cobertura
- Verificación de construcción
- Escaneo de seguridad de dependencias
2. CD (se dispara al fusionar a main):
- Construye imagen Docker y envía a ECR
- Deploy a AWS ECS (o EC2)
- Automáticamente ejecuta smoke test después de deploy
- Fallo automáticamente hace rollback
3. Optimización:
- Caché de npm/pip para acelerar
- Paralelización de pruebas
- Solo se dispara pasos relevantes cuando archivos relevantes cambian
Todas las claves usan GitHub Secrets para gestión.
Genera un conjunto de configuración de Nginx de nivel de producción:
1. Reverse proxy:
- Recursos estáticos del frontend (/) → directorio local
- Requests de API (/api/) → servicio backend (upstream)
- Soporte WebSocket (/ws/)
2. Configuración HTTPS:
- Certificado Let's Encrypt (renovación automática de Certbot)
- HTTP automáticamente redirige a HTTPS
- HSTS, OCSP Stapling
- Solo TLS 1.2+, cipher suites seguros
3. Load balancing:
- upstream múltiples instancias de backend
- Health check
- Estrategia least_conn
4. Optimización de rendimiento:
- Compresión Gzip
- Headers de caché de recursos estáticos
- Rate limiting de requests (previene DDoS)
Incluye comandos de instalación y solicitud de certificado Certbot.
Generación de configuración: OpenClaw vs escribir YAML manualmente
No es decir que escribir a mano no funciona, es que hay una manera más inteligente.
- Personaliza configuración basado en estructura de proyecto, no es plantilla genérica
- Incluye mejores prácticas de seguridad (usuario no-root, gestión de Secret, configuración TLS)
- YAML generado formato garantizado correcto, nunca tendrá error de sangría
- Un Prompt resuelve todo, Docker + CI/CD + Nginx
- Copiar un segmento de Stack Overflow, versión podría estar obsoleta
- Configuración de seguridad frecuentemente omitida, solo se descubre después de ir a producción
- YAML sangría toma media día ajustar, un espacio arruina todo
- Montaje de piezas, configuraciones entre sí podrían conflictuar