🚀 TYPO3 Deployment Guide: Direct Git Push via Plesk

Diese Dokumentation beschreibt ein hocheffizientes, schlankes Setup für das Deployment von TYPO3-Websites. Wir nutzen die Plesk Git-Extension, um Code direkt vom lokalen Rechner auf den Server zu pushen (KISS-Prinzip).


1. Das Konzept: KISS & Direct Push

Wir verzichten auf komplexe CI/CD-Zwischenschritte. Dein Plesk-Server agiert direkt als Git-Remote.


2. Vorbereitung auf dem Plesk-Server

Führe diese Schritte für die Staging- und die Live-Domain in Plesk aus:

  1. Git-Instanz anlegen: In Plesk unter der Domain auf den Button Git klicken.
  2. Repository-Typ: Wähle Lokales Repository auf Ihrer Workstation.
  3. Bereitstellungsmodus: Stelle sicher, dass Automatische Bereitstellung aktiviert ist.
  4. SSH-Key: Kopiere deinen lokalen id_ed25519.pub Inhalt in Plesk unter Websites & Domains > SSH-Zugriff (oder direkt in die Git-Konfiguration), um passwortlos zu pushen.

3. Lokale Konfiguration

Füge die SSH-Git-URLs aus Plesk als Remotes zu deinem lokalen Projekt hinzu:

# Staging-Server hinzufügen
git remote add staging <dein-plesk-git-benutzer>@<dein-server>:/repos/staging-repo.git

# Live-Server hinzufügen
git remote add live <dein-plesk-git-benutzer>@<dein-server>:/repos/live-repo.git

4. Automatisierung (Plesk Hooks)

Konfiguriere in Plesk unter Git > Zusätzliche Bereitstellungsaktionen folgenden Block. Er sorgt dafür, dass TYPO3 nach jedem Push aktualisiert wird.

# 1. Composer-Abhängigkeiten installieren
# Nutze den absoluten Pfad zur Plesk PHP-Binary
/opt/plesk/php/8.3/bin/php /usr/lib/php/composer.phar install --no-dev --optimize-autoloader

# 2. Datenbank-Schema-Updates ausführen
/opt/plesk/php/8.3/bin/php ./vendor/bin/typo3 cms:database:updateschema

# 3. TYPO3-Caches leeren
/opt/plesk/php/8.3/bin/php ./vendor/bin/typo3 cache:flush

5. Der tägliche Workflow

Arbeite lokal an deinem Code. Wenn du fertig bist:

Ziel Befehl Ergebnis
Testen git push staging main Code wird auf Staging ausgerollt, DB aktualisiert.
Live-Gang git push live main Derselbe Stand wird auf der Live-Seite aktiv.

6. Wichtige Regeln für TYPO3 (KISS-Checkliste)


7. Troubleshooting