Add post-receive script

This commit is contained in:
2018-12-02 11:32:43 -05:00
parent 334a619990
commit 3c83b9777a

View File

@@ -0,0 +1,32 @@
#!/usr/bin/env bash
# post-receive hook to build and deploy jekyll sites
"/var/lib/git/gogs/gogs" hook --config='/var/lib/git/gogs/conf/app.ini' post-receive
GIT_REPO="$(pwd)"
TMP_GIT_CLONE="/tmp/${GIT_REPO##*/}"
if [ ! -d "{$TMP_GIT_CLONE}" ]; then
git clone "${GIT_REPO}" "$TMP_GIT_CLONE"
cd "${TMP_GIT_CLONE}"
else
cd "${TMP_GIT_CLONE}"
# avoid breaking the build when force pushing
git fetch --all
git reset --hard origin/master
git pull
fi
pushd "${TMP_GIT_CLONE}"
for site in *.*/; do
[[ ! -d /var/www/${site} ]] && mkdir -p /var/www/${site} && chgrp -R /var/www/${site} && chmod g+s /var/www/${site}
pushd ${site}
bundle install --deployment
bundle exec jekyll build --destination /var/www/${site}
popd
done
exit