Added script to trigger and measure deployment time
This commit is contained in:
54
deployment_timer.sh
Executable file
54
deployment_timer.sh
Executable file
@ -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
|
Reference in New Issue
Block a user