Verwenden von Git-Remote-Hosting

Video-Tutorial ansehen

Dieses Szenario kann hilfreich sein, wenn Sie bereits mit einem Remote-Repository in GitHub (github.com) oder Bitbucket (bitbucket.org) arbeiten. Sie senden die Änderungen in das Remote-Repository. Plesk ruft die Änderungen dann mithilfe von Pull vom Remote-Repository ab und stellt sie für Ihre Website bereit.

Als Nächstes in diesem Abschnitt:

Klonen von Git-Repositorys

Verwenden der SSH-Verbindung

Abrufen und Bereitstellen von Dateien

Ändern der Verzweigung oder des Pfads

Auswählen eines Bereitstellungsmodus

Verwenden von Webhooks für das automatische Abrufen

Aktivieren zusätzlicher Bereitstellungsaktionen

Anzeigen von Commit-Protokollen

Umbenennen oder Entfernen von Repositorys

 

Klonen von Git-Repositorys

Sie können ein Git-Repository erstellen, das ein Klon eines Remote-Repositorys ist. Gehen Sie zu Websites & Domains und klicken Sie auf Git. Wenn Sie bereits Git-Repositorys für Ihre Domain erstellt haben, klicken Sie auf die Schaltfläche Repository hinzufügen. Der Bildschirm für die Erstellung eines neuen Repositorys wird angezeigt:

Git_remote_create_HTTPS

Geben Sie als ersten Schritt an, wo Ihr Code gespeichert ist. Wählen Sie in diesem Fall Git-Remote-Hosting wie GitHub oder Bitbucket aus.

Remote-Git-Repository. Geben Sie den Pfad zu Ihrem Remote-Repository in Bitbucket oder GitHub ein. Sie können ihn im HTTPS- oder SSH-Format eingeben. HTTP/HTTPS-Authentifizierung wird nicht unterstützt. Sie können ein HTTP/HTTPS-Protokoll also nur verwenden, wenn für das Repository keine Authentifizierung erforderlich ist. Wenn Sie ein privates Git-Repository einsetzen, müssen Sie sich mit einem in Plesk generierten SSH-Schlüssel authentifizieren. Weitere Details finden Sie unter Verwenden der SSH-Verbindung.

Geben Sie im Abschnitt Ihre Website Folgendes an:

  • Bereitstellungsmodus. Standardmäßig wird die automatische Bereitstellung verwendet. Das heißt, dass alle Änderungen, die mithilfe von Push in das Git-Repository übertragen werden, automatisch auf der Produktionswebsite bereitgestellt werden. Wenn Sie den Bereitstellungsmodus ändern möchten, klicken Sie auf den Link automatisch bereitgestellt und wählen Sie eine andere Option im Fenster Bereitstellungsmodus aus. Wenn Automatische Bereitstellung aktiviert ist, müssen Sie Dateien vom Git-Repository für Ihr Hosting manuell bereitstellen. Wenn Keine Bereitstellung ausgewählt ist, werden die Dateien nicht auf der Produktionswebsite bereitgestellt. Sie können diese Option zum Beispiel einsetzen, wenn Sie Code lediglich speichern oder austauschen möchten.

    Git_push_Deployment_mode

  • Zielverzeichnis für die Veröffentlichung von Git-Dateien auf Ihrer Website. Standardmäßig wird das Verzeichnis /httpdocs verwendet. Klicken Sie auf den Verzeichnisnamen, um ein anderes vorhandenes Verzeichnis auszuwählen.

    Git_push_Deployment_path

Klicken Sie auf OK. Plesk versucht nun, eine Verbindung mit dem Remote-Repository herzustellen und es zu klonen.

Progress1

Nachdem der Klonvorgang erfolgreich abgeschlossen wurde, wird das neue Repository auf der Seite Git angezeigt.

Progress3

Das neue Repository wird unter Websites & Domains > Git angezeigt. Der Name des Remote-Repositorys wird als Name des Git-Repositorys verwendet. Sie können das Repository später umbenennen. Weitere Informationen finden Sie im Abschnitt Umbenennen oder Entfernen von Repositorys.

Das erstellte Repository ist ein Klon des Remote-Repositorys. Änderungen werden daraus abgerufen und im Zielverzeichnis bereitgestellt.

Git_remote_created

 

Verwenden der SSH-Verbindung

Sie können SSH für die Verbindung zum Remote-Git-Repository verwenden. Wenn Sie ein neues Repository hinzufügen, geben Sie in diesem Fall die URL des Remote-Repositorys im SSH-Format an. Das Feld Öffentlicher SSH-Schlüssel wird angezeigt und enthält den öffentlichen SSH-Schlüssel, der automatisch von Plesk generiert wird.

Git_pull_create_SSH

Fügen Sie den SSH-Schlüssel in den Einstellungen des Remote-Git-Repositorys hinzu. Klicken Sie anschließend auf diesem Bildschirm auf OK. Weitere Informationen zum Hinzufügen von SSH-Schlüsseln finden Sie in der Dokumentation von GitHub und Bitbucket.

 

Abrufen und Bereitstellen von Dateien

Nachdem Sie für Ihre Website-Dateien ein Commit durchgeführt haben und sie per Push in das Remote-Repository übertragen haben, gehen Sie zu Websites & Domains und klicken Sie neben dem Repository-Namen auf die Schaltfläche Updates per Pull abrufen. Die Änderungen vom Remote-Repository werden in das geclonte Git Repository verschoben.

Die aktuellen Commit-Informationen finden Sie unter Websites & Domains > Git.

Standardmäßig wird der Modus der automatischen Bereitstellung verwendet. Nachdem eine Datei mithilfe von Push auf ein Repository übertragen wurde, wird sie damit sofort im Zielverzeichnis bereitgestellt. Sie können diesen Modus bei Bedarf deaktivieren. Weitere Informationen finden Sie im Abschnitt Auswählen des Bereitstellungsmodus.

Wenn Sie zum Beispiel die Datei index.html mit dem Text "Hallo! Willkommen auf meiner Website." abgerufen haben, sehen Sie die Änderungen umgehend, sobald Sie auf die Website-URL klicken.

Git_website

 

Ändern der Verzweigung oder des Pfads

Bereitstellen über eine neue Verzweigung

Es ist üblich, mit mehreren Verzweigungen in einem Repository zu arbeiten. Es kann jedoch nur jeweils eine Verzweigung gleichzeitig aktiv sein. Standardmäßig wird die Hauptverzweigung (master) für die Bereitstellung verwendet.

Um eine neue Verzweigung hinzuzufügen, erstellen Sie sie in Ihrem Remote-Repository und rufen Sie anschließend die Änderungen ab. Danach können aus zwei oder mehreren aktiven Verzweigungen auswählen. Rufen Sie Websites & Domains > Git auf, klicken Sie auf Verzweigung und Pfad ändern und wählen Sie im geöffneten Fenster den Namen der Verzweigung im Menü Verzweigung aus.

Git_remote_new_branch

Nachdem Sie eine neue Verzweigung ausgewählt und auf OK geklickt haben, wird die neue aktive Verzweigung in Plesk angezeigt.

Git_remote_branch

Ändern des Bereitstellungspfads

Standardmäßig wird das Verzeichnis /httpdocs für die Veröffentlichung von Git-Dateien auf Ihrer Website verwendet. Wenn Sie den Bereitstellungspfad ändern möchten, gehen Sie zu Websites & Domains > Git, klicken Sie auf den Link Verzweigung und Pfad ändern und wählen Sie im geöffneten Fenster das neue Verzeichnis aus.

Git_remote_change_folder

 

Auswählen eines Bereitstellungsmodus

Sie können einen Bereitstellungsmodus für Ihr Repository auswählen. Gehen Sie zu Websites & Domains > Git, klicken Sie auf Repository-Einstellungen und wählen Sie eine der Optionen unter Bereitstellungsmodus auswählen aus:

  • Automatische Bereitstellung. Wählen Sie diese Option aus, wenn Plesk umgehend alle Änderungen für die Produktionswebsite bereitstellen soll.
  • Manuelle Bereitstellung. In diesem Fall müssen Sie Dateien manuell bereitstellen. Klicken Sie dazu unter Websites & Domains > Git auf die Schaltfläche Vom Repository bereitstellen. Sie können Dateien auch manuell bereitstellen, indem Sie unter Websites & Domains neben dem Repository-Namen auf die Schaltfläche Bereitstellen klicken.
  • Keine Bereitstellung (Repository-Hosting). In diesem Fall werden die Dateien nicht auf der Produktionswebsite bereitgestellt. Sie können diese Option verwenden, wenn Sie das Git-Repository zum Beispiel lediglich zum Speichern und Austauschen von Code einsetzen möchten.

    Git_remote_deploy_mode

 

Verwenden von Webhooks für das automatische Abrufen

Mit Webhooks können Sie Ihr Remote-Repository konfigurieren, sodass Plesk zu bestimmten Ereignissen, wie dem Übertragen von Dateien mithilfe von Push in das Repository, benachrichtigt wird. Weitere Details zur Verwaltung von Webhooks finden Sie in der Dokumentation von Bitbucket oder GitHub.

Die Webhook-URL wird automatisch für das Repository generiert. Um die Webhook-URL anzuzeigen, klicken Sie auf Repository-Einstellungen.

Git_remote_webhook

Kopieren Sie die Webhook-URL, um sie Ihrem Remote-Repository hinzuzufügen, und legen Sie fest, dass der Webhook ausgelöst wird, wenn Dateien mithilfe von Push in das Repository übertragen werden. Damit wird Plesk informiert, wenn eine Datei mithilfe von Push in das Remote-Repository übertragen wird. Die Dateien werden dann automatisch per Pull abgerufen. Sie müssen also nicht auf die Schaltfläche Updates per Pull abrufen klicken. Wenn eine automatische Bereitstellung für ein Repository konfiguriert ist, werden die abgerufenen Dateien umgehend auf der Website bereitgestellt.

Hinweis: Wenn Sie Plesk über ein selbstsigniertes Zertifikat schützen, funktioniert der Webhook möglicherweise nicht, wenn er über das HTTPS-Protokoll aufgerufen wird. Dies ist auf ein Problem mit dem SSL/TLS-Handshake zurückzuführen. Sollte dies der Fall sein, geben Sie stattdessen das HTTP-Protokoll in der Webhook-URL an.

 

Aktivieren zusätzlicher Bereitstellungsaktionen

In vielen Fällen ist die Veröffentlichung von Dateien nicht der einzige Schritt für die Website-Bereitstellung. Wenn Sie zum Beispiel ein Framework wie Ruby on Rails verwenden, müssen Sie möglicherweise nach der Bereitstellung Daten migrieren. Verwenden Sie dazu den folgenden Befehl: bin/rails db:migrate.

In Plesk können Sie einen oder mehrere zusätzliche Befehle festlegen, die ausgeführt werden, wenn Dateien auf der Website bereitgestellt werden.

Gehen Sie zu Websites & Domains > Git, klicken Sie auf Repository-Einstellungen und wählen Sie Zusätzliche Bereitstellungsaktionen aktivieren aus. Geben Sie einen oder mehrere Shell-Befehle ein, die ausgeführt werden sollen, wenn Inhalte aus dem Repository bereitgestellt werden. Geben Sie jeden Befehl in einer neuen Zeile ein.

Git_remote_actions

Hinweis: Wenn SSH für den Systembenutzer der Domain unter Linux nicht zulässig ist, werden alle angegebenen Befehle in einer chroot-Umgebung ausgeführt. Das Basisverzeichnis des Systembenutzers eines Abonnements wird als Dateisystemstamm für das Abonnement behandelt und ausführbare Dateien können außerhalb des chroot-Jail nicht ausgeführt werden. Wenn der Pfad zu Ihrer Website zum Beispiel /var/www/vhosts/beispiel.com/httpdocs lautet, dann ist der Pfad in einer chroot-Umgebung ./httpdocs. Das heißt, Sie können Befehle nicht über einer Ebene über dem Verzeichnis /httpdocs ausführen.

 

Anzeigen von Commit-Protokollen

Wenn Sie den kompletten Commit-Verlauf für die aktuelle Verzweigung anzeigen möchten, rufen Sie Websites & Domains > Git auf und klicken Sie auf den Link Commit-Protokolle. Für jedes Commit werden die folgenden Informationen angezeigt: Zeit, eindeutige ID, Benutzername sowie eine Commit-Nachricht. Klicken Sie auf Aktualisieren, um das Commit-Protokoll zu aktualisieren.

Git_remote_commit_log

Sie können das Commit-Protokoll mithilfe von beliebigen Parametern filtern. Sie können zum Beispiel nach Commits suchen, die von einem bestimmten Benutzer stammen und an einem bestimmten Datum durchgeführt wurden. Klicken Sie auf das Symbol Git_Commit_Logs_search_Buttom und geben Sie die Suchparameter ein. Klicken Sie dann auf Suchen.

Git_remote_commit_log_filter

 

Umbenennen oder Entfernen von Repositorys

Sie können Ihr Repository jederzeit umbenennen. Wenn Sie zum Beispiel ein Repository fertiggestellt haben, können Sie den Repository-Namen von website-dev in website ändern, um Verwechslungen zu vermeiden. Rufen Sie Websites & Domains > Git auf, klicken Sie auf Repository-Einstellungen und geben Sie einen neuen Namen im Feld Repository-Name ein.

Wenn Sie das Repository entfernen möchten, klicken Sie im Bildschirm Git auf den Link Repository entfernen. In diesem Fall wird nur das Repository entfernt. Das Zielverzeichnis mit den veröffentlichten Daten ist davon nicht betroffen.