← 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"