updated ryf hook
authorLisa Marie Maginnis <lisam@fsf.org>
Tue, 5 Jul 2016 15:53:10 +0000 (11:53 -0400)
committerLisa Marie Maginnis <lisam@fsf.org>
Tue, 5 Jul 2016 15:53:10 +0000 (11:53 -0400)
ryf.git/post-update
ryf.git/post-update.ryf.fsf.org

index d79cd8cf8328e158976dd3a4cdc92434292fb152..06f8b8fade97ec445914df119334745b9e174759 100755 (executable)
@@ -3,4 +3,4 @@
 # An example hook script that is called after a successful
 # push is made.
 #
-exec post-update.ryf.fsf.org
+exec ./post-update.ryf.fsf.org
index 9cdcaf4ed5cb84442b0b4b3f8ec885809df944ec..344964d38e002c6f1f45ad2adde471dc23853fc0 100755 (executable)
@@ -5,6 +5,45 @@
 #
 
 echo "------- post-update started -------"
-ssh www-data@ryf.fsf.org "cd /var/www/git;git pull" 
+# Disabling this, we're moving to rsync because it works better.
+#ssh www-data@ryf.fsf.org "cd /var/www/git;git pull" 
+unset GIT_DIR
+SELF=ryf.git
+REPO_DIR=$HOME/repositories
+CHECKOUT_DIR=$HOME/local/checkouts/$SELF
+TARGET_DIR=/var/www/ryf.fsf.org
+TARGET_HOST=ryf.fsf.org
+
+
+case $1 in
+    refs/heads/live)
+       branch=live
+       ;;
+    refs/heads/dev)
+       branch=dev
+       ;;
+*)
+       echo "No action for this branch!"
+       ;;
+esac
+
+
+echo "Updating local checkout..."
+if [ ! -d $CHECKOUT_DIR ]; then
+    git clone $REPO_DIR/$SELF $CHECKOUT_DIR
+    cd $CHECKOUT_DIR
+    git checkout $branch
+else
+    cd $CHECKOUT_DIR
+    git checkout $branch
+    git pull origin $branch
+fi
+
+if [ -n $TARGET_HOST ]; then
+    echo Deploying to: $branch
+    rsync -avrSPX --delete-after $CHECKOUT_DIR/* root@$TARGET_HOST:$TARGET_DIR/
+fi
+
+exec git update-server-info
 echo "------- post-update finished ------"