39 lines
1.3 KiB
Bash
39 lines
1.3 KiB
Bash
#!/bin/bash
|
|
# =============================================================================
|
|
# JH Photomaton — Script de mise à jour
|
|
# Appelé par le CI/CD Gitea Actions (deploy.yml)
|
|
# Peut aussi être exécuté manuellement : bash scripts/update.sh
|
|
# =============================================================================
|
|
set -euo pipefail
|
|
|
|
INSTALL_DIR="/home/pi/jh-photomaton"
|
|
VENV="$INSTALL_DIR/.venv/bin/pip"
|
|
|
|
echo "▶ Mise à jour du code source..."
|
|
cd "$INSTALL_DIR"
|
|
|
|
# Sauvegarder les modifications locales (ex: settings.yaml personnalisé)
|
|
# git stash ne fail pas si rien à stasher
|
|
git stash push --include-untracked --message "auto-stash avant deploy $(date +%Y%m%d-%H%M%S)" 2>/dev/null || true
|
|
|
|
# Pull depuis origin/main
|
|
git pull origin main
|
|
|
|
# Réappliquer les modifs locales (settings.yaml, etc.)
|
|
# Si conflit → les fichiers locaux prennent le dessus
|
|
git stash pop 2>/dev/null || true
|
|
|
|
echo "▶ Mise à jour des dépendances Python..."
|
|
"$VENV" install -r "$INSTALL_DIR/requirements.txt" -q
|
|
|
|
echo "▶ Redémarrage du service..."
|
|
sudo /bin/systemctl restart jh-photomaton
|
|
|
|
# Attendre que le service soit UP
|
|
sleep 2
|
|
sudo /bin/systemctl status jh-photomaton --no-pager -l
|
|
|
|
echo ""
|
|
echo "✅ JH Photomaton mis à jour et redémarré."
|
|
echo " Logs : sudo journalctl -u jh-photomaton -f"
|