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

74 lines
1.8 KiB
Markdown

# 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
```bash
# Lokal (auf Dev-Machine)
docker push registry.michaelschiemer.de/framework:latest
```
### Schritt 2: Image auf Production-Server aktualisieren
```bash
# 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
```bash
# 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:**
```bash
# 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**