Integration von GitHub-Aktionen
Fortgeschrittene Nutzer können mit GitHub CI/CD (Continuous Integration/Continuous Delivery oder Continuous Deployment) automatisch Codeänderungen auf deiner Kinsta-Website bereitstellen, sobald ein neuer Commit in den entsprechenden Branch gepusht wird. Diese Einrichtung ermöglicht eine nahtlose Bereitstellung des Codes von deiner lokalen Umgebung aus über SSH und GitHub-Aktionen, sodass du deine Website kontinuierlich aktualisieren kannst.
Um diese Schritte ausführen zu können, musst du eine bestehende Website auf Kinsta hosten und ein GitHub-Konto haben.
1. Lade ein Backup deiner Website herunter
Du kannst ein Backup deiner Website herunterladen, um das GitHub-Repository einzurichten und lokal daran zu arbeiten. Alternativ kannst du DevKinsta verwenden, um deine Website vom Kinsta-Server zu holen und lokal daran zu arbeiten.
In MyKinsta gehst du auf Websites > Websitename > Backups > Download > Backup jetzt erstellen.

Wenn dein Backup fertig ist, klicke auf Download, speichere es auf deinem lokalen Computer und entpacke die Dateien in einen Ordner.
2. Das GitHub-Repository einrichten
Öffne den Ordner mit den Dateien deiner Website in deinem bevorzugten Code-Editor. Um zu verhindern, dass unnötige WordPress-Kerndateien, Medien-Uploads oder sensible Informationen hochgeladen werden, füge eine .gitignore-Datei in das Stammverzeichnis deines Projekts ein. Du kannst eine WordPress-Standardvorlage für .gitignore verwenden, ihren Inhalt kopieren und speichern, um sicherzustellen, dass nur die wichtigsten Dateien verfolgt werden.
Erstelle ein GitHub-Repository und schiebe die Dateien deiner Website auf GitHub.
3. GitHub-Geheimnisse für Kinsta einrichten
Um die Bereitstellung von GitHub auf Kinsta zu automatisieren, brauchst du wichtige SSH-Daten, darunter deinen Benutzernamen, dein Passwort, deinen Port und deine IP-Adresse. Da diese Daten sensibel sind, musst du sie sicher als GitHub-Geheimnisse speichern.
In GitHub gehst du zu deinem Repository und klickst auf Einstellungen > Geheimnisse und Variablen > Aktionen > Neues Repository-Geheimnis.
Füge die folgenden Secrets hinzu, indem du die primären SFTP/SSH-Benutzerdaten von der Info-Seite deiner Website in MyKinsta verwendest:
| Name des Geheimnisses | Geheimnis |
| KINSTA_SERVER_IP | Host z.B. 12.34.56.78 |
| KINSTA_USERNAME | Benutzername z.B. kinstahelp |
| PASSWORT | Passwort |
| PORT | Port z.B. 12345 |

4. Erstelle einen SSH-Schlüssel auf deinem Kinsta-Server
Öffne ein neues Terminal und logge dich mit dem SSH-Terminalbefehl von der Info-Seite deiner Website in MyKinsta in deinen Kinsta-Server ein.

Gib das Passwort deiner Website ein und generiere dann einen neuen SSH-Schlüssel mit folgendem Befehl, wobei du [email protected] durch deine E-Mail-Adresse ersetzt:
ssh-keygen -t rsa -b 4096 -C "[email protected]"Drücke die Eingabetaste, um den Schlüssel am Standardspeicherort zu speichern und lass die Passphrase leer, wenn du dazu aufgefordert wirst.

5. Füge den SSH-Schlüssel zu GitHub hinzu
Rufe den Inhalt der Datei mit dem öffentlichen Schlüssel (z.B. ~/.ssh/id_rsa.pub) mit folgendem Befehl auf:
cat ~/.ssh/id_rsa.pubIn GitHub gehst du zu Einstellungen > SSH- und GPG-Schlüssel > Neuer SSH-Schlüssel, gibst einen Titel ein (z.B. „Kinsta Server Key“), stellst sicher, dass der SchlüsseltypAuthentifizierungsschlüssel ist, fügst den öffentlichen Schlüssel in Schlüssel ein und klickst auf SSH-Schlüssel hinzufügen. Wenn du Mitglied einer Organisation bist, die Deploy-Schlüssel verwendet, musst du deinen SSH-Schlüssel als Deploy-Schlüssel hinzufügen. Weitere Informationen findest du in der GitHub-Dokumentation zu Deploy-Schlüsseln.
6. Git für die Verwendung von SSH auf dem Kinsta-Server konfigurieren
Kopiere in MyKinsta auf der Seite Info den Pfad aus den Umgebungsdetails.

Navigiere im Terminal mit folgendem Befehl zum Live-Verzeichnis deiner Website und ersetze /www/your-site/public durch den von MyKinsta kopierten Pfad.
cd /www/your-site/publicInitialisiere das Verzeichnis als Git-Repository und richte die Remote-URL für die Verwendung von SSH mit dem folgenden Befehl ein, wobei du "your-username" und "your-repo" durch deine Git-Zugangsdaten und das Repository ersetzt:
git init
git remote add origin [email protected]:your-username/your-repo.gitBestätige, dass die SSH-Einrichtung funktioniert, indem du den folgenden Befehl ausführst:
ssh -T [email protected]Du solltest eine Meldung ähnlich der folgenden sehen: „Hallo <dein-benutzername>! Du hast dich erfolgreich authentifiziert, aber GitHub bietet keinen Shell-Zugang.“ Dein Kinsta-Server ist jetzt bereit, Updates von GitHub direkt über GitHub Actions zu empfangen und zu verteilen.
7. Erstelle den GitHub Actions Workflow
Dieser Workflow stellt Änderungen automatisch auf Kinsta bereit, wenn du einen Push in den main machst. Um die Bereitstellung zu automatisieren, musst du in einer YAML-Datei festlegen, wie die Bereitstellung erfolgen soll.
Erstelle in deinem GitHub-Repository ein neues Verzeichnis mit dem Namen .github/workflows. Erstelle darin eine neue Datei mit dem Namen deploy.yml und füge den folgenden Inhalt in die Datei ein, wobei du your-site durch den Ordnernamen aus dem Pfad auf deiner Kinsta-Website ersetzt:
name: Deploy to Kinsta
on:
push:
branches:
- main # Trigger the workflow only when changes are pushed to the main branch
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# Setup Node.js (only if needed for build tasks)
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
# Checkout the latest code from the GitHub repository
- name: Checkout code
uses: actions/[email protected]
# Deploy to Kinsta via SSH
- name: Deploy via SSH
uses: appleboy/[email protected]
with:
host: ${{ secrets.KINSTA_SERVER_IP }}
username: ${{ secrets.KINSTA_USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }} # Optional, default is 22
script: |
# Navigate to the live site directory
cd /www/your-site/public
# Pull the latest changes from the GitHub repository
git fetch origin main
git reset --hard origin/main # Ensure the live site matches the latest main branchDieser Arbeitsablauf macht Folgendes:
- Auslösen: Der Workflow wird jedes Mal ausgelöst, wenn Code in den
maindeines GitHub-Repositorys verschoben wird. - Jobs: Der Workflow enthält einen
jobnamensdeploy, der auf einer virtuellen Ubuntu-Maschine (ubuntu-latest) ausgeführt wird. - Code auschecken: Hier wird die Aktion
actions/[email protected]verwendet, um den neuesten Code aus deinem GitHub-Repository zu ziehen. - Bereitstellen auf Kinsta über SSH:
- Das Plugin
appleboy/ssh-actionstellt eine SSH-Verbindung zu deinem Kinsta-Server her und verwendet dabei die Geheimnisse, die du in GitHub hinterlegt hast (Host, Benutzername, Passwort und optional den Port). Das Skript in diesem Schritt führt die folgenden Befehle aus: - Bereitstellungsbefehle:
cd /www/your-site/private: Navigiert zu dem Live-Verzeichnis, in dem WordPress gehostet wird.git fetch origin main: Holt die letzten Änderungen aus demmainin deinem GitHub-Repository.git reset --hard origin/main: Aktualisiert die Live-Site mit dem neuesten Code aus dem Zweig.
- Das Plugin
8. Teste den Arbeitsablauf
Sobald du den Workflow eingerichtet hast, kannst du ihn testen, indem du eine kleine Änderung in den main deines GitHub-Repositorys einfügst. Jedes Mal, wenn du eine Änderung einstellst, löst GitHub Actions automatisch die Bereitstellung aus und überträgt die neueste Version deines Codes auf deine Live-Site auf Kinsta.
Du kannst den Status deiner Bereitstellung überwachen, indem du in deinem GitHub-Repository auf die Registerkarte Actions gehst. Wenn der Workflow auf Fehler stößt, siehst du detaillierte Protokolle, die dir bei der Fehlersuche und -behebung helfen.