← back to Beverlyhillsbutler
deploy-kamatera.sh
35 lines
#!/bin/bash
set -e
REMOTE=root@45.61.58.125
SITE=beverlyhillsbutler
REMOTE_DIR=/root/Projects/Designer-Wallcoverings/DW-Websites/beverlyhillsbutler
PORT=9906
DOMAIN=beverlyhillsbutler.com
LOCAL_DIR="$(cd "$(dirname "$0")" && pwd)"
echo "[deploy] rsyncing $SITE to $REMOTE:$REMOTE_DIR"
rsync -avz --exclude=node_modules --exclude=.git --exclude=.env \
"$LOCAL_DIR/" "$REMOTE:$REMOTE_DIR/"
echo "[deploy] npm install on remote"
ssh "$REMOTE" "cd $REMOTE_DIR && npm install --omit=dev"
echo "[deploy] pm2 startOrReload"
ssh "$REMOTE" "cd $REMOTE_DIR && pm2 startOrReload ecosystem.config.js --update-env && pm2 save"
echo "[deploy] 4-layer health check"
echo -n " origin direct: "
ssh "$REMOTE" "curl -sf http://localhost:$PORT/health && echo OK || echo FAIL"
echo -n " CF proxied: "
curl -sf "https://$DOMAIN/health" && echo OK || echo FAIL (CF not live yet -- gate pending)
echo -n " SSL valid: "
curl -sf --head "https://$DOMAIN/" | grep -i "HTTP/2 200" && echo OK || echo SKIP (CF gate pending)
echo -n " www: "
curl -sf "https://www.$DOMAIN/health" && echo OK || echo SKIP (CF gate pending)
echo "[deploy] done"