Spaces:
Configuration error
Configuration error
File size: 3,916 Bytes
9f87fac | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | #!/bin/bash
# Script de despliegue automatizado para HuggingFace Spaces
# Osorno Runners - Sistema de Entrenamiento
echo "========================================"
echo "🏃 OSORNO RUNNERS - DEPLOY TO HUGGINGFACE"
echo "========================================"
echo ""
# Colores
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Verificar que Git esté instalado
if ! command -v git &> /dev/null; then
echo -e "${RED}❌ Git no está instalado${NC}"
echo "Instala Git desde: https://git-scm.com/"
exit 1
fi
echo -e "${GREEN}✅ Git encontrado${NC}"
# Solicitar información al usuario
echo ""
echo "Necesito algunos datos para el despliegue:"
echo ""
read -p "Tu usuario de HuggingFace: " HF_USER
read -p "Nombre del Space (ejemplo: osorno-runners): " SPACE_NAME
if [ -z "$HF_USER" ] || [ -z "$SPACE_NAME" ]; then
echo -e "${RED}❌ Usuario y nombre del Space son obligatorios${NC}"
exit 1
fi
REPO_URL="https://huggingface.co/spaces/$HF_USER/$SPACE_NAME"
echo ""
echo "Configuración:"
echo " Usuario: $HF_USER"
echo " Space: $SPACE_NAME"
echo " URL: $REPO_URL"
echo ""
read -p "¿Es correcto? (s/n): " CONFIRM
if [ "$CONFIRM" != "s" ] && [ "$CONFIRM" != "S" ]; then
echo -e "${YELLOW}❌ Despliegue cancelado${NC}"
exit 0
fi
# Verificar archivos necesarios
echo ""
echo "Verificando archivos..."
REQUIRED_FILES=("app.py" "index.html" "requirements.txt" "README.md")
MISSING_FILES=()
for file in "${REQUIRED_FILES[@]}"; do
if [ ! -f "$file" ]; then
MISSING_FILES+=("$file")
fi
done
if [ ${#MISSING_FILES[@]} -ne 0 ]; then
echo -e "${RED}❌ Archivos faltantes:${NC}"
for file in "${MISSING_FILES[@]}"; do
echo " - $file"
done
exit 1
fi
echo -e "${GREEN}✅ Todos los archivos presentes${NC}"
# Clonar el repositorio del Space
echo ""
echo "Clonando Space..."
if [ -d "$SPACE_NAME" ]; then
echo -e "${YELLOW}⚠️ El directorio $SPACE_NAME ya existe${NC}"
read -p "¿Eliminarlo y continuar? (s/n): " DELETE_CONFIRM
if [ "$DELETE_CONFIRM" == "s" ] || [ "$DELETE_CONFIRM" == "S" ]; then
rm -rf "$SPACE_NAME"
else
echo -e "${YELLOW}❌ Despliegue cancelado${NC}"
exit 0
fi
fi
git clone "$REPO_URL" "$SPACE_NAME"
if [ $? -ne 0 ]; then
echo -e "${RED}❌ Error al clonar el repositorio${NC}"
echo "Asegúrate de:"
echo " 1. Haber creado el Space en HuggingFace"
echo " 2. Tener acceso al Space"
echo " 3. Usar las credenciales correctas"
exit 1
fi
echo -e "${GREEN}✅ Space clonado${NC}"
# Copiar archivos
echo ""
echo "Copiando archivos al Space..."
cp app.py "$SPACE_NAME/"
cp index.html "$SPACE_NAME/"
cp requirements.txt "$SPACE_NAME/"
cp README.md "$SPACE_NAME/"
if [ -f ".gitignore" ]; then
cp .gitignore "$SPACE_NAME/"
fi
echo -e "${GREEN}✅ Archivos copiados${NC}"
# Commit y push
echo ""
echo "Haciendo deploy..."
cd "$SPACE_NAME"
git add .
git commit -m "Deploy Osorno Runners v1.0"
echo ""
echo "Subiendo a HuggingFace..."
echo "(Se te pedirán tus credenciales de HuggingFace)"
echo ""
git push
if [ $? -ne 0 ]; then
echo -e "${RED}❌ Error al hacer push${NC}"
echo "Verifica tus credenciales de HuggingFace"
exit 1
fi
cd ..
# Limpiar
echo ""
read -p "¿Eliminar directorio temporal $SPACE_NAME? (s/n): " CLEANUP
if [ "$CLEANUP" == "s" ] || [ "$CLEANUP" == "S" ]; then
rm -rf "$SPACE_NAME"
echo -e "${GREEN}✅ Directorio limpiado${NC}"
fi
# Éxito
echo ""
echo "========================================"
echo -e "${GREEN}🎉 ¡DESPLIEGUE EXITOSO!${NC}"
echo "========================================"
echo ""
echo "Tu aplicación estará lista en 1-3 minutos en:"
echo -e "${GREEN}$REPO_URL${NC}"
echo ""
echo "Credenciales de prueba:"
echo " Usuario: USER / Password: 123"
echo " Admin: ADMIN / Password: 123"
echo ""
echo "¡Felicidades! 🏃♂️"
echo ""
|