Files
punimtag/scripts/deploy-viewer.sh
T

30 lines
738 B
Bash
Executable File

#!/usr/bin/env bash
# Build viewer for production and restart PM2 process.
# Usage: ./scripts/deploy-viewer.sh [--skip-install]
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
VIEWER="$ROOT/viewer-frontend"
SKIP_INSTALL=0
for arg in "$@"; do
case "$arg" in
--skip-install) SKIP_INSTALL=1 ;;
esac
done
cd "$VIEWER"
if [[ "$SKIP_INSTALL" -eq 0 ]]; then
npm ci --prefer-offline
fi
npm run build
cd "$ROOT"
if pm2 describe punimtag-viewer >/dev/null 2>&1; then
# Recreate so script-args / NODE_ENV changes in ecosystem.config.js take effect.
pm2 delete punimtag-viewer
fi
pm2 start ecosystem.config.js --only punimtag-viewer
pm2 save
echo "Viewer deployed (next start). Logs: pm2 logs punimtag-viewer --lines 30"