#!/usr/bin/env bash # create static files with hugo and upload them with rsync # to my webserver # created: 2023-03-26T23:27:11+0200 clean_up () { echo -n ">>> Removing output files..." rm -rf public if [ "$?" -eq "0" ]; then echo " Success!" else echo " *** FAILED ***" echo "Could not delete output files (public). Aborting..." exit 1 fi } echo -n ">>> Creating static files with `hugo version | awk '{ print $1,$2 }'`..." ret="$(hugo --gc --minify --printPathWarnings --logLevel warn)" # if [ -n "$(echo $ret | grep Total)" ] ; then if [ "$?" -eq "0" ] ; then echo " Success!" else echo " *** FAILED ***" echo "Could not create static files (hugo). Aborting..." clean_up # exit with 1, so the update does not proceed, so we will know exit 1 fi # git lfs echo -n ">>> Check for git-lfs..." command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/pre-push.\n"; exit 2; } git lfs pre-push "$@" echo " Done!" # echo -n ">>> Pushing files to *bor* (old server)..." # # ret="$(rsync --no-motd -acvhz --stats --del public/ bor:/var/www/sites/oe7drt/ > /dev/null 2>&1)" # # if [ "$?" -eq "0" ] ; then # echo " Success!" # else # echo " *** FAILED ***" # echo "Could not sync files to *bor* (rsync). Aborting..." # clean_up # exit 1 # fi echo -n ">>> Pushing files to *celeste* (new server)..." ret="$(rsync --no-motd -acvhz --stats --del public/ celeste:/srv/sites/oe7drt/ > /dev/null 2>&1)" if [ "$?" -eq "0" ] ; then echo " Success!" else echo " *** FAILED ***" echo "Could not sync files to *celeste* (rsync). Aborting..." clean_up exit 1 fi clean_up