CRÍTICO: Eliminación definitiva de vendor-other Cambios: - vite.config.ts: Clasificación exhaustiva de TODAS las dependencias - Añadidas 30+ dependencias adicionales a vendor-react/vendor-utils - Error en producción si se detecta dependencia sin clasificar - Eliminado completamente vendor-other como opción - scripts/verify-build.js: Verificación post-build automática - Verifica que NO existe vendor-other - Verifica chunks esperados - Falla el build si encuentra vendor-other - Dockerfile: Verificación integrada - Build falla automáticamente si se genera vendor-other - Muestra chunks generados para debugging - package.json: build ahora ejecuta verificación automáticamente - manifest.json: Eliminadas referencias a screenshots inexistentes - Resuelve errores 401/404 de manifest.json - docs/SOLUCION_DOCKER_VENDOR_OTHER.md: Documentación completa Resultado: ✅ Build NO genera vendor-other ✅ Docker build falla si se genera vendor-other ✅ Verificación automática post-build ✅ Errores useLayoutEffect resueltos ✅ Manifest.json sin errores
75 lines
2.6 KiB
Bash
Executable file
75 lines
2.6 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Script para configurar SSH y hacer push a producción
|
|
# Uso: ./scripts/configurar-ssh-push.sh
|
|
|
|
set -e
|
|
|
|
echo "🔐 Configuración de SSH para Push a Producción"
|
|
echo "================================================"
|
|
echo ""
|
|
|
|
# Verificar si ya existe una clave SSH
|
|
if [ -f ~/.ssh/id_ed25519 ] || [ -f ~/.ssh/id_rsa ]; then
|
|
echo "✅ Ya existe una clave SSH"
|
|
if [ -f ~/.ssh/id_ed25519 ]; then
|
|
KEY_FILE=~/.ssh/id_ed25519.pub
|
|
else
|
|
KEY_FILE=~/.ssh/id_rsa.pub
|
|
fi
|
|
echo "📋 Clave pública: $KEY_FILE"
|
|
echo ""
|
|
echo "¿Quieres copiar esta clave al servidor? (s/n)"
|
|
read -r response
|
|
if [[ "$response" =~ ^[Ss]$ ]]; then
|
|
echo "Copiando clave al servidor..."
|
|
ssh-copy-id -i "$KEY_FILE" root@207.180.226.141 || {
|
|
echo "⚠️ No se pudo copiar automáticamente. Copia manualmente:"
|
|
echo ""
|
|
echo "cat $KEY_FILE | ssh root@207.180.226.141 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'"
|
|
echo ""
|
|
}
|
|
fi
|
|
else
|
|
echo "📝 No hay clave SSH. Generando nueva clave..."
|
|
echo ""
|
|
echo "¿Generar nueva clave SSH? (s/n)"
|
|
read -r response
|
|
if [[ "$response" =~ ^[Ss]$ ]]; then
|
|
ssh-keygen -t ed25519 -C "guia-tes-$(date +%Y%m%d)" -f ~/.ssh/id_ed25519
|
|
echo ""
|
|
echo "✅ Clave generada. Copiando al servidor..."
|
|
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@207.180.226.141 || {
|
|
echo "⚠️ No se pudo copiar automáticamente. Copia manualmente:"
|
|
echo ""
|
|
echo "cat ~/.ssh/id_ed25519.pub | ssh root@207.180.226.141 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'"
|
|
echo ""
|
|
}
|
|
fi
|
|
fi
|
|
|
|
echo ""
|
|
echo "🧪 Probando conexión SSH..."
|
|
if ssh -o BatchMode=yes -o ConnectTimeout=5 root@207.180.226.141 "echo 'Conexión exitosa'" 2>/dev/null; then
|
|
echo "✅ Conexión SSH exitosa"
|
|
echo ""
|
|
echo "🚀 Haciendo push a producción..."
|
|
cd "$(dirname "$0")/.."
|
|
git push production main
|
|
echo ""
|
|
echo "✅ Push completado exitosamente"
|
|
else
|
|
echo "❌ La conexión SSH aún no está configurada"
|
|
echo ""
|
|
echo "Opciones:"
|
|
echo "1. Copiar manualmente tu clave pública al servidor"
|
|
echo "2. Usar autenticación por contraseña (menos seguro)"
|
|
echo ""
|
|
echo "Para opción 1, ejecuta:"
|
|
echo " cat ~/.ssh/id_ed25519.pub | ssh root@207.180.226.141 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'"
|
|
echo ""
|
|
echo "Para opción 2, ejecuta:"
|
|
echo " GIT_SSH_COMMAND='ssh -o PreferredAuthentications=password' git push production main"
|
|
fi
|
|
|