Skip to content

Instantly share code, notes, and snippets.

@christianarielli
Forked from fettlaus/post-receive
Created April 21, 2020 15:03
Show Gist options
  • Save christianarielli/702e7bfb2ef126c4ab392705783db097 to your computer and use it in GitHub Desktop.
Save christianarielli/702e7bfb2ef126c4ab392705783db097 to your computer and use it in GitHub Desktop.
Jekyll Git-Auto-Publisher. Werte ersetzen und im Server-Repo in Verzeichnis $repository/.git/hooks/post-receive einfügen.
#!/bin/sh
# Die folgende Variable speichert den Pfad zum Repository um das es geht.
# Hier meinprojekt.git mit dem Namen Deines Repos ersetzen und ggfs.
# den Pfad zum Repo
GIT_REPO=$HOME/git/meinprojekt.git
# Die folgende Variable speichert den Pfad zum tmp Ordner in dem dann der Jekyll
# Befehl ausgeführt wird um die deine Seite in den Webroot zu befördern.
# Hier wieder "meinprojekt" mit dem Namen des Repos ersetzen ohne ".git" am Schluss.
TMP_GIT_CLONE=$HOME/tmp/meinprojekt
# Die folgende Variable speichert den Pfad zum Webroot
# Je nach URL bitte den richtigen Pfad eintragen Wie sich das mit
# den Webroots auf Uberspace verhält
# Steht sehr ausführlich im Uberspace-Wiki:
# https://uberspace.de/dokuwiki/start:domain
# Ersetze hier DEINUSERNAME und WEBROOTORDNER bitte mit den richtigen Namen.
PUBLIC_WWW=/var/www/virtual/DEINUSERNAME/WEBROOTORDNER
# Hier geht's dann ans eingemachte:
# Mit "git clone" wird Dein Repository in das tmp-Verzeichnis geklont
git clone $GIT_REPO $TMP_GIT_CLONE
# Dein persönliches .bash_profile wird aktiviert damit der
# Jekyll-Befehl benutzt werden kann.
# Ersetze DEINUSERNAME mit deinem Uberspace Benutzernamen.
. /home/DEINUSERNAME/.bash_profile
# Jekyll generiert die Seite aus dem tmp-Verzeichnis heraus
# in den Webroot hinein.
jekyll build -s $TMP_GIT_CLONE -d $PUBLIC_WWW
# Das tmp-Verzeichnis wird gelöscht und das Shell-Programm beendet.
rm -Rf $TMP_GIT_CLONE
exit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment