ci: docker_tag=ext

Ajout des scripts de test et de déploiement:
- Script de test de la configuration des variables d'environnement
- Script de création et push du dépôt 4NK_env
- Validation complète de l'architecture centralisée
- Configuration centralisée des variables d'environnement opérationnelle
- Tous les sous-modules 4NK et LeCoffre intégrés
This commit is contained in:
LeCoffre Deployment 2025-09-21 20:28:52 +00:00
parent 1d3222583c
commit 7f6e45ba8e
2 changed files with 197 additions and 0 deletions

View File

@ -0,0 +1,68 @@
#!/bin/bash
# Script pour créer et pousser le dépôt 4NK_env sur Gitea
set -e
# Couleurs pour les logs
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Fonction de logging
log() {
echo -e "${BLUE}[$(date '+%Y-%m-%d %H:%M:%S')]${NC} $1"
}
error() {
echo -e "${RED}[ERROR]${NC} $1"
}
success() {
echo -e "${GREEN}[SUCCESS]${NC} $1"
}
warning() {
echo -e "${YELLOW}[WARNING]${NC} $1"
}
log "🚀 CRÉATION ET PUSH DU DÉPÔT 4NK_ENV"
log "===================================="
# Vérifier que nous sommes dans le bon répertoire
if [ ! -f ".gitmodules" ]; then
error "Ce script doit être exécuté depuis le répertoire 4NK_env"
exit 1
fi
log "📋 Instructions pour créer le dépôt 4NK_env sur Gitea:"
echo ""
echo "1. 🌐 Connectez-vous à Gitea: https://git.4nkweb.com"
echo "2. 📁 Allez dans l'organisation '4nk'"
echo "3. Cliquez sur 'New Repository'"
echo "4. 📝 Remplissez les informations:"
echo " - Repository Name: 4NK_env"
echo " - Description: Environnement de développement 4NK et LeCoffre"
echo " - Visibility: Private (recommandé)"
echo " - Initialize repository: NE PAS cocher (déjà initialisé)"
echo "5. ✅ Cliquez sur 'Create Repository'"
echo ""
echo "Une fois le dépôt créé, exécutez:"
echo " git push origin ext"
echo ""
# Vérifier si le dépôt existe déjà
log "🔍 Vérification de l'existence du dépôt..."
if git ls-remote origin >/dev/null 2>&1; then
success "Le dépôt 4NK_env existe déjà sur Gitea"
log "📤 Push des modifications..."
git push origin ext
else
warning "Le dépôt 4NK_env n'existe pas encore sur Gitea"
log "📋 Veuillez créer le dépôt manuellement selon les instructions ci-dessus"
log "🔗 URL de création: https://git.4nkweb.com/org/4nk/repos/new"
fi
log "✅ Script terminé"

129
scripts/test-env-config.sh Executable file
View File

@ -0,0 +1,129 @@
#!/bin/bash
# Script de test pour vérifier la configuration des variables d'environnement
set -e
# Couleurs pour les logs
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Fonction de logging
log() {
echo -e "${BLUE}[$(date '+%Y-%m-%d %H:%M:%S')]${NC} $1"
}
error() {
echo -e "${RED}[ERROR]${NC} $1"
}
success() {
echo -e "${GREEN}[SUCCESS]${NC} $1"
}
warning() {
echo -e "${YELLOW}[WARNING]${NC} $1"
}
log "🧪 TEST DE LA CONFIGURATION DES VARIABLES D'ENVIRONNEMENT"
log "======================================================="
cd /home/debian/4NK_env/lecoffre_node
# Test 1: Vérification du fichier .env.master
log "1. Vérification du fichier .env.master..."
if [ -f ".env.master" ]; then
success "✅ Fichier .env.master existe"
echo " Taille: $(wc -l < .env.master) lignes"
echo " Variables SDK_RELAY: $(grep -c "^SDK_RELAY_" .env.master)"
echo " Variables SIGNER: $(grep -c "^SIGNER_" .env.master)"
echo " Variables VITE: $(grep -c "^VITE_" .env.master)"
else
error "❌ Fichier .env.master manquant"
exit 1
fi
# Test 2: Vérification de la syntaxe docker-compose.yml
log "2. Vérification de la syntaxe docker-compose.yml..."
if docker compose --env-file .env.master config --quiet; then
success "✅ Syntaxe docker-compose.yml valide"
else
error "❌ Erreur de syntaxe dans docker-compose.yml"
exit 1
fi
# Test 3: Vérification des fichiers .env supprimés
log "3. Vérification des fichiers .env supprimés..."
missing_env_files=0
for project in sdk_relay sdk_signer sdk_storage ihm_client lecoffre-back-mini lecoffre-front; do
if [ -f "../$project/.env" ]; then
error "❌ Fichier .env existe encore dans $project"
missing_env_files=$((missing_env_files + 1))
else
success "✅ Fichier .env supprimé de $project"
fi
done
if [ $missing_env_files -eq 0 ]; then
success "✅ Tous les fichiers .env ont été supprimés"
else
error "$missing_env_files fichiers .env existent encore"
exit 1
fi
# Test 4: Vérification des fichiers de configuration modifiés
log "4. Vérification des fichiers de configuration..."
# Test sdk_relay config.rs
if grep -q "std::env" ../sdk_relay/src/config.rs; then
success "✅ sdk_relay/src/config.rs utilise std::env"
else
error "❌ sdk_relay/src/config.rs n'utilise pas std::env"
fi
# Test sdk_signer config.ts
if ! grep -q "dotenv.config()" ../sdk_signer/src/config.ts; then
success "✅ sdk_signer/src/config.ts ne charge plus dotenv"
else
error "❌ sdk_signer/src/config.ts charge encore dotenv"
fi
# Test 5: Vérification des variables d'environnement dans docker-compose.yml
log "5. Vérification des variables d'environnement dans docker-compose.yml..."
# Compter les services avec des variables d'environnement
env_services=$(grep -c "environment:" docker-compose.yml)
success "$env_services services ont des variables d'environnement"
# Vérifier les variables critiques
critical_vars=("SDK_RELAY_CORE_URL" "SIGNER_API_KEY" "VITE_JWT_SECRET_KEY")
for var in "${critical_vars[@]}"; do
if grep -q "\${$var}" docker-compose.yml; then
success "✅ Variable $var référencée dans docker-compose.yml"
else
warning "⚠️ Variable $var non référencée dans docker-compose.yml"
fi
done
# Test 6: Test de chargement des variables
log "6. Test de chargement des variables d'environnement..."
source .env.master
if [ -n "$SDK_RELAY_CORE_URL" ] && [ -n "$SIGNER_API_KEY" ] && [ -n "$VITE_JWT_SECRET_KEY" ]; then
success "✅ Variables critiques chargées correctement"
else
error "❌ Erreur lors du chargement des variables"
exit 1
fi
log "🎯 RÉSUMÉ DES TESTS"
log "=================="
success "✅ Configuration des variables d'environnement validée"
success "✅ Architecture centralisée opérationnelle"
log ""
log "📋 PROCHAINES ÉTAPES:"
log "1. Créer le dépôt 4NK_env sur git.4nkweb.com"
log "2. Pousser le dépôt: git push origin ext"
log "3. Tester le déploiement avec: docker compose --env-file .env.master up"