diff options
Diffstat (limited to 'scripts/post-receive.sample')
| -rwxr-xr-x | scripts/post-receive.sample | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/post-receive.sample b/scripts/post-receive.sample new file mode 100755 index 0000000..3ee898d --- /dev/null +++ b/scripts/post-receive.sample @@ -0,0 +1,32 @@ +#!/bin/bash +# +# Sample git post-receive hook for /srv/git/prism-v2.git on the VPS. +# +# Install: +# sudo cp /var/www/prism-v2/scripts/post-receive.sample /srv/git/prism-v2.git/hooks/post-receive +# sudo chmod +x /srv/git/prism-v2.git/hooks/post-receive +# +# Required sudoers entry so the git user can restart services without a password. +# Adjust GIT_USER if your git is owned by a different account. +# GIT_USER ALL=(root) NOPASSWD: /var/www/prism-v2/scripts/deploy.sh + +set -euo pipefail + +BRANCH="master" +WEB_DIR="/var/www/prism-v2" +GIT_DIR="/srv/git/prism-v2.git" +LOG="/var/log/git-deploy.log" + +exec >> "$LOG" 2>&1 + +while read -r oldrev newrev refname; do + if [ "$refname" = "refs/heads/$BRANCH" ]; then + echo "$(date -Is): Checking out $BRANCH to $WEB_DIR" + sudo -u www-data git --work-tree="$WEB_DIR" --git-dir="$GIT_DIR" checkout -f "$BRANCH" + + echo "$(date -Is): Running deploy.sh" + sudo "$WEB_DIR/scripts/deploy.sh" + + echo "$(date -Is): Done." + fi +done |
