82 lines
2.5 KiB
Bash
82 lines
2.5 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
# Script de corrección rápida para el servidor
|
|||
|
|
# Ejecutar en el servidor: bash corregir-servidor.sh
|
|||
|
|
|
|||
|
|
APP_DIR="/var/www/emerges-tes"
|
|||
|
|
GIT_DIR="/var/repos/emerges-tes.git"
|
|||
|
|
LOG_FILE="/var/log/emerges-tes-deploy.log"
|
|||
|
|
|
|||
|
|
echo "🔧 Corrigiendo configuración..."
|
|||
|
|
echo ""
|
|||
|
|
|
|||
|
|
# 1. Corregir archivo de logs (quitar tilde si existe)
|
|||
|
|
echo "1️⃣ Corrigiendo archivo de logs..."
|
|||
|
|
touch "$LOG_FILE"
|
|||
|
|
chmod 666 "$LOG_FILE" 2>/dev/null || sudo chmod 666 "$LOG_FILE"
|
|||
|
|
echo " ✅ Logs configurados: $LOG_FILE"
|
|||
|
|
|
|||
|
|
# 2. Verificar que el directorio de trabajo es un repositorio Git
|
|||
|
|
echo ""
|
|||
|
|
echo "2️⃣ Verificando directorio de trabajo..."
|
|||
|
|
if [ -d "$APP_DIR" ]; then
|
|||
|
|
if [ ! -d "$APP_DIR/.git" ]; then
|
|||
|
|
echo " ⚠️ Directorio existe pero no es un repositorio Git"
|
|||
|
|
echo " 🔧 Inicializando repositorio..."
|
|||
|
|
cd "$APP_DIR"
|
|||
|
|
git init
|
|||
|
|
git remote add origin "$GIT_DIR" 2>/dev/null || git remote set-url origin "$GIT_DIR"
|
|||
|
|
git fetch origin
|
|||
|
|
git checkout -b main origin/main 2>/dev/null || {
|
|||
|
|
echo " ⚠️ No se pudo hacer checkout automático"
|
|||
|
|
echo " 💡 Ejecutar manualmente: cd $APP_DIR && git pull origin main"
|
|||
|
|
}
|
|||
|
|
echo " ✅ Repositorio inicializado"
|
|||
|
|
else
|
|||
|
|
echo " ✅ Directorio ya es un repositorio Git"
|
|||
|
|
cd "$APP_DIR"
|
|||
|
|
echo " 📍 Rama actual: $(git branch --show-current 2>/dev/null || echo 'desconocida')"
|
|||
|
|
|
|||
|
|
# Asegurar que el remoto está configurado
|
|||
|
|
if ! git remote get-url origin >/dev/null 2>&1; then
|
|||
|
|
echo " 🔧 Configurando remoto..."
|
|||
|
|
git remote add origin "$GIT_DIR"
|
|||
|
|
fi
|
|||
|
|
fi
|
|||
|
|
else
|
|||
|
|
echo " ❌ Directorio no existe"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 3. Verificar hook
|
|||
|
|
echo ""
|
|||
|
|
echo "3️⃣ Verificando hook..."
|
|||
|
|
HOOK_FILE="$GIT_DIR/hooks/post-receive"
|
|||
|
|
if [ -f "$HOOK_FILE" ]; then
|
|||
|
|
if [ -x "$HOOK_FILE" ]; then
|
|||
|
|
echo " ✅ Hook existe y es ejecutable"
|
|||
|
|
else
|
|||
|
|
echo " ⚠️ Hook no es ejecutable. Corrigiendo..."
|
|||
|
|
chmod +x "$HOOK_FILE"
|
|||
|
|
echo " ✅ Permisos corregidos"
|
|||
|
|
fi
|
|||
|
|
else
|
|||
|
|
echo " ❌ Hook no existe. Crear primero."
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "✅ Corrección completada"
|
|||
|
|
echo ""
|
|||
|
|
echo "📋 Estado actual:"
|
|||
|
|
echo " - Directorio: $APP_DIR"
|
|||
|
|
echo " - Logs: $LOG_FILE"
|
|||
|
|
echo " - Hook: $HOOK_FILE"
|
|||
|
|
echo ""
|
|||
|
|
echo "🧪 Próximos pasos:"
|
|||
|
|
echo " 1. Desde tu MÁQUINA LOCAL (no desde el servidor):"
|
|||
|
|
echo " cd /home/planetazuzu/guia-tes"
|
|||
|
|
echo " git push production main"
|
|||
|
|
echo ""
|
|||
|
|
echo " 2. En el SERVIDOR, ver logs:"
|
|||
|
|
echo " tail -f $LOG_FILE"
|
|||
|
|
|