Bash · 789 bytes Raw Blame History
1 #!/usr/bin/env bash
2 set -euo pipefail
3
4 PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
5 STAMP=$(date +%Y-%m-%d-%H%M%S)
6 OUT=~/builds/$STAMP
7 mkdir -p "$OUT"
8
9 echo "▶ Staging files"
10 rsync -az --delete \
11 --exclude deploy.sh --exclude .git \
12 "$PROJECT_DIR"/ "$OUT"/
13
14 echo "▶ Publishing release $STAMP"
15 rsync -az --delete "$OUT"/ \
16 /var/www/sortmanteau.musicsian.com/releases/$STAMP/
17
18 echo "▶ Flipping 'current' symlink"
19 sudo ln -nfs /var/www/sortmanteau.musicsian.com/releases/$STAMP \
20 /var/www/sortmanteau.musicsian.com/current
21
22 echo "▶ Restoring SELinux context"
23 sudo restorecon -Rv /var/www/sortmanteau.musicsian.com/releases/$STAMP >/dev/null
24
25 echo "▶ Reloading Nginx"
26 sudo systemctl reload nginx
27
28 echo "✓ Deployed $STAMP → sortmanteau.musicsian.com"