3.9 KiB
3.9 KiB
Debug Version Display - Remote Server Checklist
1. Überprüfe Git-Tags auf dem Remote-Server
# Im Projekt-Verzeichnis auf dem Remote-Server
cd /path/to/hoerdle
# Zeige alle Tags
git tag -l
# Zeige aktuellen Tag/Version
git describe --tags --always
# Wenn keine Tags angezeigt werden:
git fetch --tags
git describe --tags --always
Erwartetes Ergebnis: Sollte v0.1.0.2 oder ähnlich zeigen
2. Überprüfe die version.txt im Container
# Zeige den Inhalt der Version-Datei im laufenden Container
docker exec hoerdle cat /app/version.txt
# Sollte die Version zeigen, z.B. "v0.1.0.2"
Erwartetes Ergebnis: Die aktuelle Version, nicht "unknown" oder "dev"
3. Überprüfe die Umgebungsvariable im Container
# Zeige alle Umgebungsvariablen
docker exec hoerdle env | grep APP_VERSION
# Sollte APP_VERSION=v0.1.0.2 oder ähnlich zeigen
Erwartetes Ergebnis: APP_VERSION=v0.1.0.2
4. Überprüfe die Container-Logs beim Start
# Zeige die letzten Logs beim Container-Start
docker logs hoerdle | head -20
# Suche speziell nach Version-Ausgaben
docker logs hoerdle | grep -i version
Erwartetes Ergebnis: Eine Zeile wie "App version: v0.1.0.2"
5. Teste die API direkt
# Rufe die Version-API auf
curl http://localhost:3010/api/version
# Sollte JSON zurückgeben: {"version":"v0.1.0.2"}
Erwartetes Ergebnis: {"version":"v0.1.0.2"}
6. Überprüfe wann der Container gebaut wurde
# Zeige Image-Informationen
docker images | grep hoerdle
# Zeige detaillierte Container-Informationen
docker inspect hoerdle | grep -i created
Wichtig: Wenn das Image vor deinem letzten Deployment erstellt wurde, wurde es noch nicht neu gebaut!
7. Überprüfe Build-Logs
# Baue das Image neu und beobachte die Ausgabe
docker compose build --no-cache 2>&1 | tee build.log
# Suche nach der Version-Ausgabe im Build
grep -i "Building version" build.log
Erwartetes Ergebnis: Eine Zeile wie "Building version: v0.1.0.2"
Häufige Probleme und Lösungen
Problem 1: Tags nicht auf dem Server
git fetch --tags
git describe --tags --always
Problem 2: Container wurde nicht neu gebaut
docker compose build --no-cache
docker compose up -d
Problem 3: Alte version.txt im Container
# Stoppe Container, lösche Image, baue neu
docker compose down
docker rmi $(docker images | grep hoerdle | awk '{print $3}')
docker compose build --no-cache
docker compose up -d
Problem 4: .git Verzeichnis nicht im Build-Context
# Überprüfe ob .git existiert
ls -la .git
# Überprüfe .dockerignore (sollte .git NICHT ausschließen)
cat .dockerignore 2>/dev/null || echo "Keine .dockerignore Datei"
Vollständiger Neustart (wenn nichts anderes hilft)
# 1. Stoppe alles
docker compose down
# 2. Lösche alte Images
docker rmi $(docker images | grep hoerdle | awk '{print $3}')
# 3. Hole neueste Änderungen und Tags
git pull
git fetch --tags
# 4. Überprüfe Version lokal
git describe --tags --always
# 5. Baue komplett neu
docker compose build --no-cache
# 6. Starte Container
docker compose up -d
# 7. Überprüfe Logs
docker logs hoerdle | grep -i version
# 8. Teste API
curl http://localhost:3010/api/version
Debugging-Befehl für alle Checks auf einmal
echo "=== Git Tags ===" && \
git describe --tags --always && \
echo -e "\n=== version.txt im Container ===" && \
docker exec hoerdle cat /app/version.txt 2>/dev/null || echo "Container läuft nicht oder Datei fehlt" && \
echo -e "\n=== APP_VERSION Env ===" && \
docker exec hoerdle env | grep APP_VERSION || echo "Variable nicht gesetzt" && \
echo -e "\n=== API Response ===" && \
curl -s http://localhost:3010/api/version && \
echo -e "\n\n=== Container Created ===" && \
docker inspect hoerdle | grep -i created | head -1
Kopiere diesen Befehl und führe ihn auf dem Remote-Server aus. Schicke mir die Ausgabe!