Websiten mit Hugo erstellen, bei Github/Gitlab pushen und mit Plesk ausliefern

Nachdem ich im vorherigen Eintrag Hugo vorgestellt und ein Beispiel anhand des Quick-Start-Guides erklärt habe, möchte ich nun zeigen, wie ich quasi eine neue Seite online bringe.

Mein gesamtes Hugo-Projekt liegt dazu in einem Git-Repository. Es spielt keine Rolle, ob es sich dabei um Github oder Gitlab handelt.

Zur Zeit liegen die Website-Daten auf einem Webserver mit Plesk. Plesk bietet seit Version 17 oder 17.5 eine kostenlose Git-Extension, mit der Git-Repos geclont werden können. Und genau das werden wir nun tun.

In Plesk sollte eure Website bereits angelegt sein, stellt dort als erstes sicher, dass das Document-Root auf httpdocs/public umgestellt wird, da hugo, wie ja im ersten Beitrag erklärt, die fertigen Websiten-Dateien im public-Ordner speichert.

plesk_git_1

Wählt bei eurer Website nun das Git-Modul aus. Tragt als Remote Git repository die SSH-URL eures Repositories ein, speichert aber noch nicht.
Wie in meinem Screenshot zu sehen, wird Plesk von euch verlangern, den Public-SSH-Key in eurem Account bei Github zu speichern. Und genau das müsst vor Speichern auch durchführen. Den dazu gehörigen Menüpunkt findet ihr sowohl unter Gitlab als auch Github in euren Benutzereinstellungen.

Ist der Key hinterlegt, könnt ihr den Dialog abschließen, Plesk wird nun euer Repository clonen. Im besten Fall - wenn ihr alles richtig gemacht habt - sollte eure Seite nun sogar bereits dargestellt werden.

Nun möchte ich aber nicht ständig manuell ein git pull durchführen. Muss ich auch nicht, dazu behelfen wir uns mittels einen Webhooks. Github/Gitlab benachrichtigt somit Plesk bei Änderungen, die Änderungen im Git werden sofort aktualisiert. Das funktioniert wie folgt.

plesk_git_2

Wechselt in Plesk wieder in das Git-Modul eurer Website und öffnet die Repository Einstellungen. Dort findet ihr eine Webhook-URL, die ihr kopieren müsst.

plesk_git_3

In Githab/Gitlab müsst ihr diese nun einfügen. Dies ist beispielsweise bei Gitlab in den Repository Einstellungen im Unterpunkt Integrations zu finden. Wichtig ist hier, dass die Checkbox Push events aktiviert ist.

That's it. Zukünftig können weitere Änderungen einfach mittels Git commited und gepusht werden. Diese sind umgehend in Plesk verfügbar.

Kommentare anzeigen

Get the latest posts delivered right to your inbox.