Externe Git-hosting gebruiken

Bekijk de videolessen

Dit scenario kan van pas komen als u al gebruik maakt van een extern repository in GitHub (github.com) of BitBucket (bitbucket.org). U verstuurt de wijzigingen naar deze externe repository en Plesk haalt ze vanuit deze repository op om ze in uw website door te voeren.

Verder in deze sectie:

Git-repository klonen

SSH-verbinding gebruiken

Een pull uitvoeren en bestanden publiceren

Branch of zoekpad wijzigen

Een publicatiemodus selecteren

Webhooks gebruiken voor automatisch publiceren

Aanvullende acties bij publicatie inschakelen

Commit-logs bekijken

die te publiceren Een repository verwijderen of de naam ervan wijzigen

 

Git-repository klonen

U kunt een Git-repository die een kloon is van een externe repository. Ga naar Websites & domeinen en klik op Git. Als u al Git-repositories voor uw domein hebt aangemaakt, klik dan op de knop Repository toevoegen. U ziet nu het scherm voor het aanmaken van een nieuwe repository:

Git_remote_create_HTTPS

Eerst moet u aangeven waar uw code is opgeslagen. In dit scenario selecteert u Externe Git-hosting zoals GitHub of BitBucket.

Externe Git-repository. Geef het zoekpad op naar uw externe repository in BitBucket of GitHub. U kunt dit opgeven in HTTPS dan wel SSH-notatie. HTTP/HTTPS-verificatie wordt niet ondersteund, dus u kunt het HTTP/HTTPS-protocol alleen gebruiken als uw voor repository geen verificatie nodig is. Als u een privaat Git-repository gebruikt dan moet u de verificatie uitvoeren met een SSH-sleutel die door Plesk wordt aangemaakt (zie SSH-verbinding gebruiken voor details).

In de sectie Uw website geeft u het volgende op:

  • De publicatiemodus. Standaard wordt Automatische publicatie gebruikt. Dit betekent dat alle wijzigingen die in een push in de Git-repository worden opgenomen automatisch op de productiesite worden gepubliceerd. Als u de publicatiemodus wilt wijzigen, klik dan op de link automatisch gepubliceerd en selecteer een andere optie in het venster publicatiemodus dat zal worden geopend. Als Handmatige publicatieis geselecteerd zult u bestanden handmatig vanuit de Git-repository moeten publiceren. Als Geen publicatie is geselecteerd zullen de bestanden niet worden gepubliceerd op de productiesite (deze optie is bedoeld voor onder meer het opslaan en uitwisselen van code).

    Git_push_Deployment_mode

  • De map van bestemming voor het publiceren van Git-bestanden op uw website. Standaard wordt de map /httpdocs gebruikt. U kunt dit wijzigen door de klikken op de naam van de map.

    Git_push_Deployment_path

Klik op OK. Plesk zal proberen verbinding te maken met de externe repository om hier een kloon van te maken.

Progress1

Als de voortgangsindicator aangeeft dat het klonen is voltooid zal de nieuwe repository worden weergegeven op de pagina Git.

Progress3

De nieuwe repository wordt weergegeven onder Websites & domeinen > Git. De naam van de externe repository zal worden gebruikt als naam van een Git-repository. U kunt de naam van de repository later wijzigen (zie de sectie Een repository verwijderen of de naam wijzigen ).

De aangemaakte repository is een kloon van de externe repository en zal worden gebruikt voor het uitvoeren van pulls en voor publicatie van bestanden naar de map van bestemming.

Git_remote_created

 

SSH-verbinding gebruiken

U kunt SSH gebruiken om verbinding te maken met de externe Git-repository. Geef in dit geval bij het toevoegen van een nieuwe repository de URL op van de externe repository in SSH-notatie. Het veld Publieke SSH-sleutel zal verschijnen en de publieke SSH-sleutel weergeven die automatisch is gegenereerd door Plesk.

Git_pull_create_SSH

Voor u op OK klik in dit scherm moet u de SSH-sleutel toevoegen aan de instellingen van de externe Git-repository. Zie voor details de documentatie voor het toevoegen van een SSH-sleutel voor GitHub en BitBucket.

 

Een pull uitvoeren en bestanden publiceren

Nadat u een commit van de websitebestanden hebt uitgevoerd en een push hebt uitgevoerd naar de externe repository, gaat u naar Websites & domeinen en u klikt op de knop Updates ophalen (pull) naast de naam van de repository. Er zal een pull worden uitgevoerd voor de wijzigingen in de externe repository naar de gekloonde Git-repository.

U kunt de laatste commit-informatie zien naast Websites & domeinen > Git.

Plesk gebruikt standaard de modus Automatisch publiceren. Dit betekent dat nadat er een push is uitgevoerd naar de repository de bestanden automatisch worden gepubliceerd (indien nodig kunt u deze modus uitschakelen, zie de sectie Publicatiemodus selecteren ).

Als u bijvoorbeeld een pull vanuit de Git-repository uitvoert voor een bestand index.html met de tekst “Hello! Welkom op mijn site”, dan kunt u de wijzigen direct op uw website op de uiteindelijke URL zien.

Git_website

 

Branch of zoekpad wijzigen

Publiceren vanuit een nieuwe branch

Het is en normaal om te werken met meerdere branches in één repository. Er kan slechts een branch tegelijk actief zijn. Standaard wordt de branch Master gebruikt voor publicatie.

Om een nieuwe branch toe te voegen moet u deze aanmaken in uw externe repository om vervolgens een pull voor de wijzigen uit te voeren. Hierna kunt u een of twee (of meer) actieve branches in Plesk selecteren. Ga naar Websites & domeinen > Git en klik op Wijzig branch en zoekpad voor de naam van de repository. Selecteer in het venster dat wordt geopend de naam van de branch in het menu Branch.

Git_remote_new_branch

Nadat u een nieuwe branch hebt geselecteerd en hebt geklikt op OK, zal Plesk een nieuwe actieve branch tonen.

Git_remote_branch

Het zoekpad voor publicatie wijzigen

Standaard wordt de map /httpdocs gebruikt voor het publiceren van Git-bestanden op uw website. Als u het zoekpad voor publicatie wilt wijzigen gaat u naar Websites & domeinen > Git, u klikt op de link Branch en zoekpad wijzigen en in het venster dat wordt geopend selecteert u de nieuwe map.

Git_remote_change_folder

 

Een publicatiemodus selecteren

U kunt een publicatiemodus voor uw repository selecteren. Ga naar Websites & domeinen > Git, klik op Repository-instellingen en selecteer een van de opties onder Publicatiemodus selecteren:

  • Automatisch publiceren. Selecteer deze optie als u wilt dat Plesk alle wijzigingen direct op uw productiesite doorvoert.
  • Handmatige publicatie. In dit geval moet u bestanden handmatig publiceren door te klikken op de knop Publiceren vanuit repository onder Websites & domeinen > Git. U kunt ook bestanden handmatig publiceren door te klikken op op de knop Publiceren naast de naam van de repository onder Websites & domeinen.
  • Geen publicatie (repository-hosting). In dit geval zullen bestanden niet worden gepubliceerd naar de productiesite. U kunt deze optie bijvoorbeeld gebruiken als u een Git-repository alleen wilt gebruiken voor het opslaan en uitwisselen van code.

    Git_remote_deploy_mode

 

Webhooks gebruiken voor automatisch publiceren

U kunt webhooks gebruiken om uw externe repository te configureren om Plesk op de hoogte te houden van bepaalde events (bijvoorbeeld het publiceren van bestanden naar de repository). Zie voor details de documentatie voor het beheer van webhooks in BitBucket of GitHub.

Er wordt automatisch een webhook-URL voor een repository gegenereerd. Om de webhook-URL te bekijken klikt u op Repository-instellingen.

Git_remote_webhook

Kopieer de webhook-URL, voeg deze toe aan uw externe repository en stel deze in om te worden aangeroepen bij een push naar de repository. Het resultaat zal zijn dat Plesk steeds een melding ontvangt als er een push naar de externe repository wordt uitgevoerd. Hierna zal automatisch een pull van de bestanden worden uitgevoerd zonder dat u hoeft te klikken op de knop Updates ophalen (pull). Als automatisch publiceren voor een repository is ingesteld, dan zullen de gewijzigde bestanden direct op de website worden gepubliceerd.

Opmerking: Als Plesk is beveiligd met een zelfgetekend certificaat zal de webhook wellicht niet werken als deze wordt aangeroepen via het HTTPS-protocol; er kunnen zich dan problemen voordoen met de SSL/TLS-handshake. Geef in dat geval het HTTP-protocol op in de URL van de webhook.

 

Aanvullende acties bij publicatie inschakelen

In veel gevallen is het publiceren van bestanden niet voldoende om een website te publiceren. Als u bijvoorbeeld een framework zoals Ruby on Rails gebruikt, dan is het wellicht nodig om een datamigratie uit te voeren na publicatie, met een opdracht zoals dit: bin/rails db:migrate.

Plesk geeft u de mogelijkheid om een of meer aanvullende opdrachten te definiëren die worden uitgevoerd elke keer wanneer bestanden op de website worden gepubliceerd.

Ga naar Websites & domeinen > Git, klik op Repository-instellingen, selecteer Aanvullende publicatie-acties inschakelen en geef een of meer shell-opdrachten op die worden uitgevoerd steeds wanneer de inhoud van deze repository wordt gepubliceerd. Geef elke afzonderlijke opdracht op een nieuwe regel op.

Git_remote_actions

Opmerking: Als een gebruiker in Linux geen toegang heeft tot de systeemgebruiker van het domein, dan worden alle opgegeven opdrachten uitgevoerd in een chrooted omgeving. De hoofdmap van de systeemgebruiker van het abonnement wordt gebruikt als hoofdmap voor dat abonnement; er kunnen geen bestanden buiten de chroot jail worden uitgevoerd. Als het zoekpad naar uw site bijvoorbeeld /var/www/vhosts/voorbeeld.nl/httpdocs is, dan wordt het zoekpad in de chrooted omgeving ./httpdocs; dit betekent dat u niet langer opdrachten kunt uitvoeren op meer dan één niveau hoger dan de map /httpdocs.

 

Commit-logs bekijken

Om de hele commit-geschiedenis van de huidige branch te bekijken gaat u naar Websites & domeinen > Git en u klikt op de link Commit voor logbestanden uitvoeren. Voor elke commit wordt de volgende informatie weergegeven: tijd, uniek identificatiekenmerk, gebruikersnaam en een commit-bericht. Klik op Vernieuwen voor een update van het commit-logbestand.

Git_remote_commit_log

U kunt de commit-logbestanden filteren op elke parameter. U kunt bijvoorbeeld alle commits terugvinden die zijn uitgevoerd door een specifieke gebruiker vanaf een specifieke datum. Klik op de knop Git_Commit_Logs_search_Buttom, geef de zoekparameters op en klik op Zoeken.

Git_remote_commit_log_filter

 

die te publiceren Een repository verwijderen of de naam ervan wijzigen

U kunt de naam van uw repository op elk moment wijzigen. Als u bijvoorbeeld klaar bent met het ontwikkelen van uw website, dan wilt u wellicht de naam van de repository wijzigen van website-dev naar website, om zo verwarring te voorkomen. Ga naar Websites & domeinen > Git, klik op Repository-instellingen en geef een nieuwe naam op in het veld Naam van repository.

Als u de repository wilt verwijderen, klik dan op de link Repository verwijderen op het Git-scherm. In dit geval zal Plesk alleen de repository verwijderen; de map met de gepubliceerde bestanden zal blijven zoals deze is.