diff --git a/deployment_timer.sh b/deployment_timer.sh new file mode 100755 index 0000000..a273586 --- /dev/null +++ b/deployment_timer.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# === KONFIGURACJA === +APP_URL="https://user-microservice.marcin00.pl/version" +MARKER_FILE="version_marker.txt" +OUTPUT_FILE="deployment_times.csv" +CHECK_INTERVAL=1 # sekundy + +# === POBRANIE AKTUALNEJ WERSJI APLIKACJI === +echo "[INFO] Pobieranie aktualnej wersji z /version..." +OLD_VERSION=$(curl -s "$APP_URL" | jq -r '.version') + +if [[ -z "$OLD_VERSION" ]]; then + echo "[ERROR] Nie udało się pobrać aktualnej wersji aplikacji." + exit 1 +fi + +echo "[INFO] Aktualna wersja: $OLD_VERSION" + +# === Modyfikacja pliku, commit i push === +TIMESTAMP=$(date +%s) +echo "$TIMESTAMP" > "$MARKER_FILE" + +git add "$MARKER_FILE" +git commit -m "Automatyczna zmiana: $TIMESTAMP" +START_TIME=$(date +%s) + +echo "[INFO] Wykonuję git push..." +git push + +if [[ $? -ne 0 ]]; then + echo "[ERROR] Push nie powiódł się." + exit 1 +fi + +echo "[INFO] Oczekiwanie na wdrożenie nowej wersji..." + +# === Odpytywanie endpointa /version === +while true; do + sleep $CHECK_INTERVAL + NEW_VERSION=$(curl -s "$APP_URL" | jq -r '.version') + + if [[ "$NEW_VERSION" != "$OLD_VERSION" ]]; then + END_TIME=$(date +%s) + DURATION=$((END_TIME - START_TIME)) + echo "[INFO] Nowa wersja wdrożona: $NEW_VERSION" + echo "[INFO] Czas wdrożenia: $DURATION sekund" + + echo "$START_TIME,$END_TIME,$DURATION,$OLD_VERSION,$NEW_VERSION" >> "$OUTPUT_FILE" + break + else + echo "[WAIT] Czekam... ($NEW_VERSION)" + fi +done