Compare commits
	
		
			2 Commits
		
	
	
		
			c9b1dac864
			...
			e6c68f839a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					e6c68f839a | ||
| 
						 | 
					fcb93a5cf8 | 
							
								
								
									
										12
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								Dockerfile
									
									
									
									
									
								
							@@ -1,6 +1,18 @@
 | 
			
		||||
FROM python:3.11.7-alpine
 | 
			
		||||
 | 
			
		||||
# Wersja i data builda jako build-arg
 | 
			
		||||
ARG APP_VERSION=unknown
 | 
			
		||||
ARG BUILD_DATE=unknown
 | 
			
		||||
 | 
			
		||||
# Ustawiamy zmienne w ENV, by były dostępne w kontenerze
 | 
			
		||||
ENV APP_VERSION=$APP_VERSION
 | 
			
		||||
ENV BUILD_DATE=$BUILD_DATE
 | 
			
		||||
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
 | 
			
		||||
COPY api .
 | 
			
		||||
 | 
			
		||||
RUN apk add --no-cache curl
 | 
			
		||||
RUN pip install -r requirements.txt
 | 
			
		||||
 | 
			
		||||
CMD python3 app.py
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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