provisioning-outreach/presentations/rust-laspalmas-250926/auroraframe/docs/deployment-walkthrough.md

1 line
14 KiB
Markdown
Raw Permalink Normal View History

# Deployment Walkthrough - Poster Provisioning\n\nGuía completa paso a paso para hacer deployment del poster optimizado a producción.\n\n## 🎯 Objetivos del Deployment\n\nAl completar este walkthrough tendrás:\n\n- ✅ **Build de producción** optimizado y validado\n- ✅ **Servidor configurado** con compresión y cache\n- ✅ **SSL/HTTPS** activo para seguridad\n- ✅ **CDN** opcional para performance global\n- ✅ **Monitoring** básico configurado\n- ✅ **Rollback plan** en caso de problemas\n\n**Tiempo estimado:** 30-45 minutos\n\n---\n\n## 📋 Pre-requisitos\n\n### Recursos Necesarios\n\n- [ ] **Servidor web** (VPS, shared hosting, cloud)\n- [ ] **Dominio** registrado y configurado\n- [ ] **SSH acceso** al servidor\n- [ ] **Certificado SSL** (gratuito con Let's Encrypt)\n\n### Herramientas Locales\n\n- [ ] **Nushell** 0.105.2+ instalado\n- [ ] **Build system** funcionando\n- [ ] **SSH client** configurado\n- [ ] **rsync** instalado (para deployment)\n\n### Información del Servidor\n\n```bash\n# Anota esta información:\nDEPLOY_HOST="tu-dominio.com"\nDEPLOY_PATH="/var/www/provisioning-poster"\nDEPLOY_USER="deploy" # o tu usuario SSH\nSSH_PORT="22" # puerto SSH (por defecto 22)\n```\n\n---\n\n## 🚀 Fase 1: Preparación del Build (10 minutos)\n\n### Paso 1.1: Build de Producción Final\n\n```bash\n# Limpiar build anterior\nnu scripts/dev.nu clean\n\n# Build completo con análisis\nnu scripts/prod.nu full\n\n# Verificar que build fue exitoso\nls -la dist/\n```\n\n**Verificar que se generaron estos archivos:**\n\n```plaintext\ndist/\n├── index.html ✅ HTML optimizado\n├── assets/\n│ ├── css/\n│ │ ├── main.min.css ✅ CSS minificado\n│ │ └── main.min.css.gz ✅ CSS comprimido\n│ └── svg/\n│ └── sprites.svg ✅ SVG optimizado\n├── .htaccess ✅ Configuración Apache\n├── nginx.conf ✅ Configuración Nginx\n├── deploy.sh ✅ Script de deployment\n└── robots.txt ✅ SEO robots\n```\n\n### Paso 1.2: Validación Local\n\n```bash\n# Test local del build de producción\nnu scripts/dev.nu preview --port 8080\n\n# Abrir http://localhost:8080 y verificar:\n# ✅ Poster se ve correctamente\n# ✅ Animaciones funcionan\n# ✅ Layout responsive\n# ✅ Carga rápida\n```\n\n### Paso 1.3: Análisis de Performance Final\n\n```bash\n# Métricas finales\nnu scripts/prod.nu --analyze\n\n# Deberías ver:\n# Performance Score: A o A+\n# Total size: ~70KB\n# Gzipped: ~18KB\n```\n\n### Paso 1.4: Backup de Seguridad\n\n```bash\n# Crear backup del build\ntar -czf poster-production-$(date +%Y%m%d-%H%M).tar.gz dist/\n\n# Verificar backup\nls -lh poster-production-*.tar.gz\n```\n\n---\n\n## 🔧 Fase 2: Configuración del Servidor (15 minutos)\n\n### Paso 2.1: Conectar al Servidor\n\n```bash\n# Test de conexión SSH\nssh $DEPLOY_USER@$DEPLOY_HOST\n\n# Si es primera conexión, añadir SSH key\nssh-keygen -t rsa -b 4096 -C "deployment-key"\nssh-copy-id $DEPLOY_USER@$DEPLOY_HOST\n```\n\n### Paso 2.2: Preparar Directorio en Servidor\n\n```bash\n# En el servidor, crear estructura\nssh $DEPLOY_USER@$DEPLOY_HOST << 'EOF'\n# Crear directorio web\nsudo mkdir -p /var/www/provisioning-poster\n\n# Configurar permisos\nsudo chown -R $USER:www-data /var/www/provisioning-poster\nsudo chmod -R 755 /var/www/provisioning-poster\n\n# Crear backup directory\nsudo mkdir -p /var/www/backups/provisioning-poster\nsudo chown -R $USER:www-data /var/www/backups/provisioning-poster\n\n# Verificar directorios\nls -la /var/www/\nEOF\n```\n\n### Paso 2.3: Configurar Servidor Web\n\n#### Para Apache\n\n```bash\n# Copiar configuración Apache\nscp dist/.htaccess $DEPLOY_USER@$DEPLOY_HOST:/var/www/provisioning-poster/\n\n# Configurar Virtual Host\nssh $DEPLOY_USER@$DEPLOY_HOST << 'EOF'\nsudo tee /etc/apache2/sites-available/provisioning-poster.conf > /dev/null << 'VHOST'\n<VirtualHost *:80>\n ServerName tu-dominio.com\n DocumentRoot /var/www/provisioning-poster\n\n # Logs\n Err