Checkpoint: Correction des scripts de déploiement pour utiliser le bon nom de répertoire :
**Modifications apportées** : 1. **backup-before-update.sh** : - APP_DIR: /var/www/formation-manager-itinova - BACKUP_DIR: /var/backups/formation-manager-itinova 2. **update-app.sh** : - APP_DIR: /var/www/formation-manager-itinova - SERVICE_NAME: formation-manager-itinova 3. **GUIDE_MISE_A_JOUR.md** : - Tous les chemins mis à jour vers formation-manager-itinova - Tous les noms de service corrigés 4. **README.md** : - Documentation mise à jour avec les bons chemins - Exemples corrigés 5. **Nouveau package créé** : - formation-manager-update-20251127_095935.tar.gz (2.6M) - Prêt pour déploiement sur le serveur VPS
This commit is contained in:
@@ -71,10 +71,10 @@ Le script va automatiquement:
|
||||
|
||||
```bash
|
||||
# Vérifier le statut du service
|
||||
sudo systemctl status formation-manager
|
||||
sudo systemctl status formation-manager-itinova
|
||||
|
||||
# Voir les logs en temps réel
|
||||
sudo journalctl -u formation-manager -f
|
||||
sudo journalctl -u formation-manager-itinova -f
|
||||
|
||||
# Tester l'application dans le navigateur
|
||||
# Ouvrir: http://votre-domaine.com
|
||||
@@ -93,19 +93,19 @@ sudo ./deployment-scripts/backup-before-update.sh
|
||||
### 2. Arrêter le service
|
||||
|
||||
```bash
|
||||
sudo systemctl stop formation-manager
|
||||
sudo systemctl stop formation-manager-itinova
|
||||
```
|
||||
|
||||
### 3. Sauvegarder la configuration
|
||||
|
||||
```bash
|
||||
sudo cp /var/www/formation-manager/.env /tmp/.env.backup
|
||||
sudo cp /var/www/formation-manager-itinova/.env /tmp/.env.backup
|
||||
```
|
||||
|
||||
### 4. Copier les nouveaux fichiers
|
||||
|
||||
```bash
|
||||
cd /var/www/formation-manager
|
||||
cd /var/www/formation-manager-itinova
|
||||
sudo find . -mindepth 1 -maxdepth 1 ! -name '.env' ! -name 'node_modules' -exec rm -rf {} +
|
||||
sudo cp -r /tmp/formation-manager-itinova/* .
|
||||
```
|
||||
@@ -113,13 +113,13 @@ sudo cp -r /tmp/formation-manager-itinova/* .
|
||||
### 5. Restaurer la configuration
|
||||
|
||||
```bash
|
||||
sudo cp /tmp/.env.backup /var/www/formation-manager/.env
|
||||
sudo cp /tmp/.env.backup /var/www/formation-manager-itinova/.env
|
||||
```
|
||||
|
||||
### 6. Installer les dépendances
|
||||
|
||||
```bash
|
||||
cd /var/www/formation-manager
|
||||
cd /var/www/formation-manager-itinova
|
||||
sudo pnpm install --prod
|
||||
```
|
||||
|
||||
@@ -132,8 +132,8 @@ sudo pnpm db:push
|
||||
### 8. Redémarrer le service
|
||||
|
||||
```bash
|
||||
sudo systemctl start formation-manager
|
||||
sudo systemctl status formation-manager
|
||||
sudo systemctl start formation-manager-itinova
|
||||
sudo systemctl status formation-manager-itinova
|
||||
```
|
||||
|
||||
## 🔄 Restauration d'une sauvegarde (Rollback)
|
||||
@@ -143,26 +143,26 @@ Si la mise à jour pose problème, vous pouvez restaurer une sauvegarde:
|
||||
### 1. Lister les sauvegardes disponibles
|
||||
|
||||
```bash
|
||||
ls -lh /var/backups/formation-manager/
|
||||
ls -lh /var/backups/formation-manager-itinova/
|
||||
```
|
||||
|
||||
### 2. Choisir une sauvegarde
|
||||
|
||||
```bash
|
||||
# Exemple: backup_20240119_143022
|
||||
BACKUP_DIR="/var/backups/formation-manager/backup_20240119_143022"
|
||||
BACKUP_DIR="/var/backups/formation-manager-itinova/backup_20240119_143022"
|
||||
```
|
||||
|
||||
### 3. Arrêter le service
|
||||
|
||||
```bash
|
||||
sudo systemctl stop formation-manager
|
||||
sudo systemctl stop formation-manager-itinova
|
||||
```
|
||||
|
||||
### 4. Restaurer les fichiers
|
||||
|
||||
```bash
|
||||
cd /var/www/formation-manager
|
||||
cd /var/www/formation-manager-itinova
|
||||
sudo rm -rf *
|
||||
sudo tar -xzf $BACKUP_DIR/app_files.tar.gz -C .
|
||||
```
|
||||
@@ -170,7 +170,7 @@ sudo tar -xzf $BACKUP_DIR/app_files.tar.gz -C .
|
||||
### 5. Restaurer la configuration
|
||||
|
||||
```bash
|
||||
sudo cp $BACKUP_DIR/.env.backup /var/www/formation-manager/.env
|
||||
sudo cp $BACKUP_DIR/.env.backup /var/www/formation-manager-itinova/.env
|
||||
```
|
||||
|
||||
### 6. Restaurer la base de données (optionnel)
|
||||
@@ -189,8 +189,8 @@ rm /tmp/restore.sql
|
||||
### 7. Redémarrer le service
|
||||
|
||||
```bash
|
||||
sudo systemctl start formation-manager
|
||||
sudo systemctl status formation-manager
|
||||
sudo systemctl start formation-manager-itinova
|
||||
sudo systemctl status formation-manager-itinova
|
||||
```
|
||||
|
||||
## 📝 Nouveautés de cette version
|
||||
@@ -211,19 +211,19 @@ Aucune migration majeure dans cette version. Le script `pnpm db:push` synchronis
|
||||
|
||||
```bash
|
||||
# Voir les logs d'erreur
|
||||
sudo journalctl -u formation-manager -n 100 --no-pager
|
||||
sudo journalctl -u formation-manager-itinova -n 100 --no-pager
|
||||
|
||||
# Vérifier les permissions
|
||||
sudo chown -R www-data:www-data /var/www/formation-manager
|
||||
sudo chmod -R 755 /var/www/formation-manager
|
||||
sudo chmod 600 /var/www/formation-manager/.env
|
||||
sudo chown -R www-data:www-data /var/www/formation-manager-itinova
|
||||
sudo chmod -R 755 /var/www/formation-manager-itinova
|
||||
sudo chmod 600 /var/www/formation-manager-itinova/.env
|
||||
```
|
||||
|
||||
### Erreur de connexion à la base de données
|
||||
|
||||
```bash
|
||||
# Vérifier le fichier .env
|
||||
sudo cat /var/www/formation-manager/.env | grep DATABASE_URL
|
||||
sudo cat /var/www/formation-manager-itinova/.env | grep DATABASE_URL
|
||||
|
||||
# Tester la connexion MySQL
|
||||
mysql -h HOST -u USER -p -e "SELECT 1;"
|
||||
@@ -243,7 +243,7 @@ sudo kill -9 PID
|
||||
|
||||
```bash
|
||||
# Réinitialiser les permissions
|
||||
cd /var/www/formation-manager
|
||||
cd /var/www/formation-manager-itinova
|
||||
sudo chown -R www-data:www-data .
|
||||
sudo chmod -R 755 .
|
||||
sudo chmod 600 .env
|
||||
@@ -253,13 +253,13 @@ sudo chmod 600 .env
|
||||
|
||||
En cas de problème:
|
||||
|
||||
1. **Vérifier les logs**: `sudo journalctl -u formation-manager -f`
|
||||
2. **Consulter la documentation**: Voir les guides dans `/var/www/formation-manager/deployment-package/`
|
||||
1. **Vérifier les logs**: `sudo journalctl -u formation-manager-itinova -f`
|
||||
2. **Consulter la documentation**: Voir les guides dans `/var/www/formation-manager-itinova/deployment-package/`
|
||||
3. **Restaurer une sauvegarde**: Suivre la procédure de rollback ci-dessus
|
||||
|
||||
## ✅ Checklist post-mise à jour
|
||||
|
||||
- [ ] Le service est démarré: `sudo systemctl status formation-manager`
|
||||
- [ ] Le service est démarré: `sudo systemctl status formation-manager-itinova`
|
||||
- [ ] L'application est accessible dans le navigateur
|
||||
- [ ] La connexion fonctionne (test avec un utilisateur admin)
|
||||
- [ ] Les séquences s'affichent correctement
|
||||
@@ -271,16 +271,16 @@ En cas de problème:
|
||||
|
||||
```bash
|
||||
# Voir les logs en temps réel
|
||||
sudo journalctl -u formation-manager -f
|
||||
sudo journalctl -u formation-manager-itinova -f
|
||||
|
||||
# Redémarrer le service
|
||||
sudo systemctl restart formation-manager
|
||||
sudo systemctl restart formation-manager-itinova
|
||||
|
||||
# Voir le statut
|
||||
sudo systemctl status formation-manager
|
||||
sudo systemctl status formation-manager-itinova
|
||||
|
||||
# Voir les dernières erreurs
|
||||
sudo journalctl -u formation-manager -p err -n 50
|
||||
sudo journalctl -u formation-manager-itinova -p err -n 50
|
||||
|
||||
# Espace disque
|
||||
df -h
|
||||
|
||||
@@ -76,10 +76,10 @@ sudo ./deployment-scripts/update-app.sh
|
||||
|
||||
```bash
|
||||
# Vérifier le statut
|
||||
sudo systemctl status formation-manager
|
||||
sudo systemctl status formation-manager-itinova
|
||||
|
||||
# Voir les logs
|
||||
sudo journalctl -u formation-manager -f
|
||||
sudo journalctl -u formation-manager-itinova -f
|
||||
|
||||
# Tester dans le navigateur
|
||||
# Ouvrir: http://votre-domaine.com
|
||||
@@ -98,7 +98,7 @@ sudo journalctl -u formation-manager -f
|
||||
- Crée un fichier d'information sur la sauvegarde
|
||||
- Conserve les 10 dernières sauvegardes (supprime les plus anciennes)
|
||||
|
||||
**Emplacement des sauvegardes**: `/var/backups/formation-manager/`
|
||||
**Emplacement des sauvegardes**: `/var/backups/formation-manager-itinova/`
|
||||
|
||||
**Exemple d'utilisation**:
|
||||
```bash
|
||||
@@ -109,15 +109,15 @@ sudo ./backup-before-update.sh
|
||||
```
|
||||
=== Sauvegarde avant mise à jour ===
|
||||
Date: 2024-01-19 14:30:22
|
||||
Répertoire application: /var/www/formation-manager
|
||||
Répertoire sauvegarde: /var/backups/formation-manager
|
||||
Répertoire application: /var/www/formation-manager-itinova
|
||||
Répertoire sauvegarde: /var/backups/formation-manager-itinova
|
||||
|
||||
Création du répertoire de sauvegarde...
|
||||
Sauvegarde des fichiers de l'application...
|
||||
✓ Fichiers de l'application sauvegardés
|
||||
...
|
||||
=== Sauvegarde terminée avec succès ===
|
||||
Emplacement: /var/backups/formation-manager/backup_20240119_143022
|
||||
Emplacement: /var/backups/formation-manager-itinova/backup_20240119_143022
|
||||
Taille: 45M
|
||||
```
|
||||
|
||||
@@ -140,8 +140,8 @@ Taille: 45M
|
||||
|
||||
**Prérequis**:
|
||||
- Exécuter avec sudo/root
|
||||
- L'application doit être installée dans `/var/www/formation-manager`
|
||||
- Le service doit s'appeler `formation-manager`
|
||||
- L'application doit être installée dans `/var/www/formation-manager-itinova`
|
||||
- Le service doit s'appeler `formation-manager-itinova`
|
||||
|
||||
**Exemple d'utilisation**:
|
||||
```bash
|
||||
@@ -155,7 +155,7 @@ sudo ./update-app.sh
|
||||
╚════════════════════════════════════════════════════════════╝
|
||||
|
||||
Date: 2024-01-19 14:35:10
|
||||
Répertoire: /var/www/formation-manager
|
||||
Répertoire: /var/www/formation-manager-itinova
|
||||
|
||||
Voulez-vous continuer avec la mise à jour ? [y/N]: y
|
||||
|
||||
@@ -217,24 +217,24 @@ Si vous devez restaurer une sauvegarde après une mise à jour problématique:
|
||||
|
||||
```bash
|
||||
# 1. Lister les sauvegardes
|
||||
ls -lh /var/backups/formation-manager/
|
||||
ls -lh /var/backups/formation-manager-itinova/
|
||||
|
||||
# 2. Arrêter le service
|
||||
sudo systemctl stop formation-manager
|
||||
sudo systemctl stop formation-manager-itinova
|
||||
|
||||
# 3. Restaurer les fichiers
|
||||
cd /var/www/formation-manager
|
||||
cd /var/www/formation-manager-itinova
|
||||
sudo rm -rf *
|
||||
sudo tar -xzf /var/backups/formation-manager/backup_YYYYMMDD_HHMMSS/app_files.tar.gz -C .
|
||||
sudo tar -xzf /var/backups/formation-manager-itinova/backup_YYYYMMDD_HHMMSS/app_files.tar.gz -C .
|
||||
|
||||
# 4. Restaurer .env
|
||||
sudo cp /var/backups/formation-manager/backup_YYYYMMDD_HHMMSS/.env.backup .env
|
||||
sudo cp /var/backups/formation-manager-itinova/backup_YYYYMMDD_HHMMSS/.env.backup .env
|
||||
|
||||
# 5. Restaurer la base de données (si nécessaire)
|
||||
gunzip -c /var/backups/formation-manager/backup_YYYYMMDD_HHMMSS/database.sql.gz | mysql -h HOST -u USER -p DATABASE
|
||||
gunzip -c /var/backups/formation-manager-itinova/backup_YYYYMMDD_HHMMSS/database.sql.gz | mysql -h HOST -u USER -p DATABASE
|
||||
|
||||
# 6. Redémarrer
|
||||
sudo systemctl start formation-manager
|
||||
sudo systemctl start formation-manager-itinova
|
||||
```
|
||||
|
||||
## 📝 Configuration
|
||||
@@ -244,9 +244,9 @@ sudo systemctl start formation-manager
|
||||
Les scripts utilisent ces chemins par défaut:
|
||||
|
||||
```bash
|
||||
APP_DIR="/var/www/formation-manager" # Répertoire de l'application
|
||||
BACKUP_DIR="/var/backups/formation-manager" # Répertoire des sauvegardes
|
||||
SERVICE_NAME="formation-manager" # Nom du service systemd
|
||||
APP_DIR="/var/www/formation-manager-itinova" # Répertoire de l'application
|
||||
BACKUP_DIR="/var/backups/formation-manager-itinova" # Répertoire des sauvegardes
|
||||
SERVICE_NAME="formation-manager-itinova" # Nom du service systemd
|
||||
```
|
||||
|
||||
### Personnalisation
|
||||
@@ -273,7 +273,7 @@ SERVICE_NAME="votre-service"
|
||||
|
||||
### Sauvegardes
|
||||
|
||||
- Les sauvegardes sont conservées dans `/var/backups/formation-manager/`
|
||||
- Les sauvegardes sont conservées dans `/var/backups/formation-manager-itinova/`
|
||||
- Seules les 10 dernières sauvegardes sont conservées
|
||||
- Chaque sauvegarde inclut: fichiers + .env + base de données
|
||||
- Pensez à sauvegarder régulièrement les sauvegardes importantes ailleurs
|
||||
@@ -313,13 +313,13 @@ sudo ./update-app.sh
|
||||
|
||||
```bash
|
||||
# Voir les logs
|
||||
sudo journalctl -u formation-manager -n 100
|
||||
sudo journalctl -u formation-manager-itinova -n 100
|
||||
|
||||
# Vérifier la configuration
|
||||
sudo systemctl status formation-manager
|
||||
sudo systemctl status formation-manager-itinova
|
||||
|
||||
# Vérifier les permissions
|
||||
sudo chown -R www-data:www-data /var/www/formation-manager
|
||||
sudo chown -R www-data:www-data /var/www/formation-manager-itinova
|
||||
```
|
||||
|
||||
### Erreur de base de données
|
||||
@@ -329,7 +329,7 @@ sudo chown -R www-data:www-data /var/www/formation-manager
|
||||
mysql -h HOST -u USER -p -e "SELECT 1;"
|
||||
|
||||
# Vérifier le fichier .env
|
||||
cat /var/www/formation-manager/.env | grep DATABASE_URL
|
||||
cat /var/www/formation-manager-itinova/.env | grep DATABASE_URL
|
||||
```
|
||||
|
||||
## 📞 Support
|
||||
|
||||
@@ -17,8 +17,8 @@ YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Configuration
|
||||
APP_DIR="/var/www/formation-manager"
|
||||
BACKUP_DIR="/var/backups/formation-manager"
|
||||
APP_DIR="/var/www/formation-manager-itinova"
|
||||
BACKUP_DIR="/var/backups/formation-manager-itinova"
|
||||
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||||
BACKUP_NAME="backup_${TIMESTAMP}"
|
||||
|
||||
|
||||
@@ -17,9 +17,9 @@ BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Configuration
|
||||
APP_DIR="/var/www/formation-manager"
|
||||
APP_DIR="/var/www/formation-manager-itinova"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
SERVICE_NAME="formation-manager"
|
||||
SERVICE_NAME="formation-manager-itinova"
|
||||
|
||||
echo -e "${BLUE}╔════════════════════════════════════════════════════════════╗${NC}"
|
||||
echo -e "${BLUE}║ Mise à jour Formation Manager Itinova ║${NC}"
|
||||
|
||||
Binary file not shown.
BIN
formation-manager-update-20251127_095935.tar.gz
Normal file
BIN
formation-manager-update-20251127_095935.tar.gz
Normal file
Binary file not shown.
8
todo.md
8
todo.md
@@ -714,3 +714,11 @@
|
||||
- [x] Créer le script de sauvegarde avant mise à jour (backup-before-update.sh)
|
||||
- [x] Créer la documentation de mise à jour (GUIDE_MISE_A_JOUR.md)
|
||||
- [x] Créer le package de déploiement complet (formation-manager-update-*.tar.gz)
|
||||
|
||||
## Correction nom répertoire dans scripts
|
||||
|
||||
- [x] Corriger APP_DIR dans backup-before-update.sh
|
||||
- [x] Corriger APP_DIR dans update-app.sh
|
||||
- [x] Corriger SERVICE_NAME dans tous les fichiers
|
||||
- [x] Corriger la documentation (GUIDE_MISE_A_JOUR.md et README.md)
|
||||
- [x] Recréer le package de déploiement (formation-manager-update-20251127_095935.tar.gz)
|
||||
|
||||
Reference in New Issue
Block a user