Webseiten per Git-Hook auf Uberspace veröffentlichen
Geschrieben von Hauke am
Ausgehend von einem Skript, das Piere Wöhl hier veröffentlich hat, habe ich mir überlegt, ein Skript zu schreiben, das etwas genereller ist und das das Repository eines bestimmten Branches (hier: master) in ein Unterverzeichnis ($DIR, siehe Skript) auf dem selben Uberspace auscheckt.
Dabei ist folgendes Skript entstanden, das im Hook-Verzeichnis des Repositories als "post-receive" gespeichert wird:
Dabei ist folgendes Skript entstanden, das im Hook-Verzeichnis des Repositories als "post-receive" gespeichert wird:
#!/bin/bash
PROJ="$GL_REPO.git"
# $DIR MUST BE absolute!
DIR="/var/www/virtual/$GL_USER/html/example"
# Which branch do we have the last commit?
cd $HOME/repositories/$PROJ
BRANCH=`git show-branch -a HEAD | grep -A 1 "^--" | grep -v "^--" | cut -d "[" -f 2 | cut -d "]" -f 1`
cd $HOME
echo "Processing $0..."
case "$BRANCH" in
master)
if [ ! -d $DIR ] ; then
# Create publish directory
mkdir -p $DIR
cd $DIR
cd ..
rmdir $DIR
git clone -b $BRANCH $HOME/repositories/$PROJ $DIR
fi
cd $DIR
# Update publish dir
if [ -d .git ] ; then
git --work-tree="$DIR" --git-dir="$DIR/.git" pull origin $MYBRANCH
find $DIR -type d | xargs chmod 755
find $DIR -type f | xargs chmod 644
find $DIR/.git | xargs chmod 700
else
# Oops!
echo "No git directory in $DIR!"
fi
;;
*)
echo "Branch $BRANCH not configured. Doing nothing"
;;
esac
Das Skript kann man sicherlich prima erweitern, z.B. um bestimmte Repos per rsync auf andere Server zu packen, oder, oder, oder...
Trackbacks
Trackback-URL für diesen EintragDieser Link ist nicht aktiv. Er enthält die Trackback-URI zu diesem Eintrag. Sie können diese URI benutzen, um Ping- und Trackbacks von Ihrem eigenen Blog zu diesem Eintrag zu schicken. Um den Link zu kopieren, klicken Sie ihn mit der rechten Maustaste an und wählen "Verknüpfung kopieren" im Internet Explorer oder "Linkadresse kopieren" in Mozilla/Firefox.
Keine Trackbacks
Die Kommentarfunktion wurde vom Besitzer dieses Blogs in diesem Eintrag deaktiviert.
Kommentare
Ansicht der Kommentare: Linear | VerschachteltNoch keine Kommentare