Files
michaelschiemer/deployment/docs/tests/git-deployment-issue.md

1.8 KiB

Git Deployment - Problem gefunden

Datum: 2025-01-31
Status: ⚠️ Image muss neu gepusht werden

🔍 Problem identifiziert

Prüfung ergab:

  • Keine Git-Logs im Container
  • GIT_REPOSITORY_URL nicht als Environment-Variable gesetzt
  • Kein .git Verzeichnis im Container
  • Entrypoint-Script zeigt keine Git-Funktionalität

Ursache:

Das Image auf dem Production-Server enthält noch die alte Version ohne Git-Funktionalität.

Das lokal gebaute Image wurde noch nicht zur Registry gepusht, daher verwendet der Production-Server noch das alte Image.


Lösung

Schritt 1: Image zur Registry pushen

# Lokal (auf Dev-Machine)
docker push registry.michaelschiemer.de/framework:latest

Schritt 2: Image auf Production-Server aktualisieren

# Via Ansible
cd deployment/ansible
ansible production -i inventory/production.yml -m shell -a "docker pull registry.michaelschiemer.de/framework:latest"

Schritt 3: Container neu starten

# Via Ansible
cd deployment/ansible
ansible-playbook -i inventory/production.yml playbooks/sync-code.yml -e "git_repo_url=https://git.michaelschiemer.de/michael/michaelschiemer.git" -e "git_branch=main"

Oder direkt:

# Auf Production-Server
cd ~/deployment/stacks/application
docker compose pull app
docker compose up -d app

🔄 Alternativer Workflow

Falls du das Image über die CI/CD Pipeline pushen möchtest:

  1. Commit und Push der Änderungen zu main
  2. CI/CD Pipeline baut automatisch das Image und pusht es
  3. Dann sync-code.yml ausführen

📋 Checkliste

  • Image lokal gebaut
  • Git-Variablen in .env gesetzt
  • Image zur Registry pushen TODO
  • Image auf Production-Server pullen TODO
  • Container neu starten TODO
  • Logs prüfen TODO