Bash · 737 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 --exclude deploy.sh --exclude .git \
11 "$PROJECT_DIR"/ "$OUT"/
12
13 echo "▶ Publishing release..."
14 rsync -az --delete "$OUT"/ /var/www/cue.musicsian.com/releases/$STAMP/
15
16 echo "▶ Flipping current symlink..."
17 sudo ln -nfs /var/www/cue.musicsian.com/releases/$STAMP \
18 /var/www/cue.musicsian.com/current
19
20 echo "▶ Restoring SELinux labels..."
21 sudo restorecon -Rv /var/www/cue.musicsian.com/releases/$STAMP >/dev/null
22
23 echo "▶ Reloading Nginx..."
24 sudo systemctl reload nginx
25
26 echo "✓ Deployed $STAMP to cue.musicsian.com"