30 lines
738 B
Bash
Executable File
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"
|