diff --git a/scripts/deploy-prod.sh b/scripts/deploy-prod.sh index 5e0df19..ff83d12 100755 --- a/scripts/deploy-prod.sh +++ b/scripts/deploy-prod.sh @@ -81,8 +81,23 @@ for i in $(seq 1 24); do if [ "$ACTUAL" = "$GIT_COMMIT" ]; then echo "OK build-info commit=$ACTUAL" if docker ps --format '{{.Names}}' | grep -q "^memento-grafana$"; then - echo "=== Recreating Grafana and Prometheus to load new configurations ===" - docker compose -f monitoring/docker-compose.monitoring.yml up -d --force-recreate grafana prometheus + # Ne recréer Prometheus que si sa config a changé (préserve l'historique TSDB) + PROM_CHANGED=$(git diff --name-only HEAD~1 HEAD 2>/dev/null | grep -E '^monitoring/(prometheus\.yml|alerts\.yml)' || true) + GRAFANA_CHANGED=$(git diff --name-only HEAD~1 HEAD 2>/dev/null | grep -E '^monitoring/' || true) + if [ -n "$PROM_CHANGED" ]; then + echo "=== Prometheus config changed — recreating ===" + docker compose -f monitoring/docker-compose.monitoring.yml up -d --force-recreate prometheus + else + echo "=== Prometheus config unchanged — keeping TSDB history ===" + docker compose -f monitoring/docker-compose.monitoring.yml up -d prometheus + fi + if [ -n "$GRAFANA_CHANGED" ]; then + echo "=== Grafana config changed — recreating ===" + docker compose -f monitoring/docker-compose.monitoring.yml up -d --force-recreate grafana + else + echo "=== Grafana config unchanged — keeping state ===" + docker compose -f monitoring/docker-compose.monitoring.yml up -d grafana + fi fi docker compose ps exit 0