Spaces:
Runtime error
Runtime error
File size: 3,649 Bytes
efca0f4 |
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 |
#!/bin/bash
# Script de déploiement automatisé pour Hugging Face Spaces
# Usage: ./deploy.sh <votre-username> <nom-du-space>
set -e # Arrêter en cas d'erreur
# Couleurs pour l'affichage
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Fonction pour afficher les messages
print_status() {
echo -e "${BLUE}[INFO]${NC} $1"
}
print_success() {
echo -e "${GREEN}[SUCCESS]${NC} $1"
}
print_warning() {
echo -e "${YELLOW}[WARNING]${NC} $1"
}
print_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
# Vérification des arguments
if [ $# -ne 2 ]; then
print_error "Usage: $0 <votre-username> <nom-du-space>"
print_error "Exemple: $0 john sentiment-audio-analyzer"
exit 1
fi
USERNAME=$1
SPACE_NAME=$2
SPACE_URL="https://huggingface.co/spaces/$USERNAME/$SPACE_NAME"
print_status "Démarrage du déploiement pour $SPACE_URL"
# 1. Vérification de la structure du projet
print_status "Vérification de la structure du projet..."
required_files=(
"app.py"
"requirements_hf.txt"
"config.yaml"
"README_HF.md"
".gitattributes"
"src/__init__.py"
"src/transcription.py"
"src/sentiment.py"
"src/multimodal.py"
"src/inference.py"
)
for file in "${required_files[@]}"; do
if [ ! -f "$file" ]; then
print_error "Fichier manquant: $file"
exit 1
fi
done
print_success "Structure du projet validée"
# 2. Test du projet
print_status "Exécution des tests..."
if [ -f "test_deployment.py" ]; then
python test_deployment.py
if [ $? -ne 0 ]; then
print_error "Les tests ont échoué. Corrigez les problèmes avant de continuer."
exit 1
fi
print_success "Tests passés avec succès"
else
print_warning "Script de test non trouvé, passage des tests..."
fi
# 3. Vérification de Git
print_status "Vérification de Git..."
if ! command -v git &> /dev/null; then
print_error "Git n'est pas installé"
exit 1
fi
# 4. Initialisation Git si nécessaire
if [ ! -d ".git" ]; then
print_status "Initialisation du repository Git..."
git init
git add .
git commit -m "Initial commit"
fi
# 5. Ajout du remote Hugging Face
print_status "Configuration du remote Hugging Face..."
# Supprimer l'ancien remote s'il existe
git remote remove hf 2>/dev/null || true
# Ajouter le nouveau remote
git remote add hf "https://huggingface.co/spaces/$USERNAME/$SPACE_NAME"
print_success "Remote configuré: $SPACE_URL"
# 6. Préparation du commit
print_status "Préparation du commit..."
# Ajouter tous les fichiers
git add .
# Créer le commit
git commit -m "Deploy: Analyse de sentiment audio v1.0" || {
print_warning "Aucun changement détecté, commit ignoré"
}
# 7. Déploiement
print_status "Déploiement sur Hugging Face Spaces..."
# Demander confirmation
read -p "Voulez-vous déployer maintenant ? (y/N): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
print_warning "Déploiement annulé"
exit 0
fi
# Pousser vers Hugging Face
print_status "Poussage du code..."
git push hf main
print_success "Déploiement terminé avec succès !"
print_success "Votre Space est accessible à: $SPACE_URL"
# 8. Instructions post-déploiement
echo
print_status "Instructions post-déploiement:"
echo "1. Allez sur $SPACE_URL"
echo "2. Attendez que le build se termine (peut prendre 5-10 minutes)"
echo "3. Testez votre application"
echo "4. Consultez les logs en cas de problème"
# 9. Vérification du statut
print_status "Vérification du statut du Space..."
echo "Vous pouvez vérifier le statut à: $SPACE_URL"
print_success "Script de déploiement terminé !" |