Git-basiertes Deployment ermöglicht es, Codeänderungen direkt aus einem Git-Repository auf den Server zu übertragen. Diese Anleitung beschreibt zwei Ansätze: Pull-Deployment per SSH und Webhook-basiertes Deployment.
Voraussetzungen
- SSH-Zugang auf msrv.io (Port 22022). Anleitung: SSH/SFTP Benutzer anlegen.
- Git ist auf msrv.io vorinstalliert.
- Ein Git-Repository (GitHub, GitLab, Bitbucket oder selbst gehostet).
Variante 1: Manuelles Pull-Deployment
Das einfachste Verfahren: Repository auf den Server klonen und bei jedem Deploy per SSH pullen.
- SSH-Verbindung aufbauen:
ssh -p 22022 ihrbenutzer@web01.msrv.io - In das Web-Root wechseln:
cd /var/www/clients/clientN/webN/web - Repository klonen (beim ersten Mal):
git clone https://github.com/ihreorg/ihrprojekt.git . - Bei jedem Deployment:
git pull origin main
Variante 2: Deployment per SSH-Key und Git Hook
Für automatisiertes Deployment ohne Passwort-Eingabe:
- Erstellen Sie auf dem Server ein SSH-Schlüsselpaar:
ssh-keygen -t ed25519 -C "deploy@web01" - Fügen Sie den öffentlichen Schlüssel (
~/.ssh/id_ed25519.pub) als Deploy Key in Ihrem Git-Repository hinzu (GitHub: Settings > Deploy Keys). - Klonen Sie das Repository mit SSH-URL:
git clone git@github.com:ihreorg/ihrprojekt.git . - Richten Sie einen Cron-Job oder Post-Receive-Hook ein, der
git pullautomatisch ausführt.
Empfehlungen
- Legen Sie keine
wp-config.phpoder.env-Dateien mit Zugangsdaten ins Repository. Nutzen Sie stattdessen serverseitige Konfigurationsdateien. - Für WordPress-Projekte empfehlen wir Composer für die Abhängigkeitsverwaltung. Anleitung: Composer auf msrv.io nutzen.
- Testen Sie Deployments zuerst auf einer Staging-Umgebung.
Verwandte Anleitungen
Bei Fragen: +49 89 215505888 oder support@cms-admins.de