chore(scripts): add frontend standalone deploy script
This commit is contained in:
parent
d3a6669d0a
commit
661c401b92
|
|
@ -0,0 +1,63 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
cd "$REPO_ROOT"
|
||||
|
||||
usage() {
|
||||
cat <<'EOF'
|
||||
Usage:
|
||||
./scripts/deploy-frontend-standalone.sh <remote> <remote_app_dir>
|
||||
|
||||
Arguments:
|
||||
remote SSH target, e.g. user@example.com
|
||||
remote_app_dir Remote deerflow2 root dir, e.g. /home/user/deerflow2
|
||||
|
||||
Example:
|
||||
./scripts/deploy-frontend-standalone.sh ubuntu@1.2.3.4 /opt/deerflow2
|
||||
|
||||
Notes:
|
||||
- Run this script on your local machine (build machine), not on the server.
|
||||
- Requires: pnpm, rsync, ssh
|
||||
- Script will run:
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl restart deerflow.service
|
||||
EOF
|
||||
}
|
||||
|
||||
if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ]; then
|
||||
usage
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$#" -ne 2 ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
REMOTE="$1"
|
||||
REMOTE_APP_DIR="$2"
|
||||
|
||||
echo "==> Building frontend (standalone)..."
|
||||
pnpm -C frontend build
|
||||
|
||||
echo "==> Uploading standalone server..."
|
||||
rsync -azP --delete --info=progress2 \
|
||||
frontend/.next/standalone/ \
|
||||
"$REMOTE:$REMOTE_APP_DIR/frontend/.next/standalone/"
|
||||
|
||||
echo "==> Uploading static assets..."
|
||||
rsync -azP --info=progress2 \
|
||||
frontend/.next/static/ \
|
||||
"$REMOTE:$REMOTE_APP_DIR/frontend/.next/standalone/.next/static/"
|
||||
|
||||
echo "==> Uploading public assets..."
|
||||
rsync -azP --info=progress2 \
|
||||
frontend/public/ \
|
||||
"$REMOTE:$REMOTE_APP_DIR/frontend/.next/standalone/public/"
|
||||
|
||||
echo "==> Reloading systemd and restarting deerflow.service on remote host..."
|
||||
ssh "$REMOTE" "sudo systemctl daemon-reload && sudo systemctl restart deerflow.service"
|
||||
|
||||
echo "==> Done."
|
||||
Loading…
Reference in New Issue