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.

Erstelle ein herunterladbares Backup in MyKinsta
Erstelle ein herunterladbares Backup in MyKinsta

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 GeheimnissesGeheimnis
KINSTA_SERVER_IPHost z.B. 12.34.56.78
KINSTA_USERNAMEBenutzername z.B. kinstahelp
PASSWORTPasswort
PORTPort z.B. 12345
SSH-Informationen, um Geheimnisse auf GitHub hinzuzufügen
SSH-Informationen, um Geheimnisse auf GitHub hinzuzufügen

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.

SSH-Terminal-Befehl für deine Website
SSH-Terminal-Befehl für deine Website

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.

Erstelle einen SSH-Schlüssel
Erstelle einen SSH-Schlüssel

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.pub

In 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.

Pfad auf der Info-Seite deiner Website
Pfad auf der Info-Seite deiner Website

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/public

Initialisiere 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.git

Bestätige, dass die SSH-Einrichtung funktioniert, indem du den folgenden Befehl ausführst:

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 branch

Dieser Arbeitsablauf macht Folgendes:

  • Auslösen: Der Workflow wird jedes Mal ausgelöst, wenn Code in den main deines GitHub-Repositorys verschoben wird.
  • Jobs: Der Workflow enthält einen job namens deploy, 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-action stellt 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 dem main in deinem GitHub-Repository.
      • git reset --hard origin/main: Aktualisiert die Live-Site mit dem neuesten Code aus dem Zweig.

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.

War dieser Artikel hilfreich?

© 2013 - 2026 Kinsta Inc. Alle Rechte vorbehalten. Kinsta®, MyKinsta®, DevKinsta® und Sevalla® sind Marken von Kinsta Inc.Die WordPress®-Marke ist geistiges Eigentum der WordPress Foundation und die Woo®- und WooCommerce®-Marken sind geistiges Eigentum von WooCommerce, Inc. Die Verwendung der Namen WordPress®, Woo® und WooCommerce® auf dieser Website dient ausschließlich zu Identifikationszwecken und impliziert keine Billigung durch die WordPress Foundation oder WooCommerce, Inc. Kinsta wird nicht von der WordPress Foundation oder WooCommerce, Inc. unterstützt, ist nicht in deren Besitz oder mit diesen verbunden. Rechtliche Informationen