Files
iiEasy/sync-to-nomad.sh

49 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# Transfer iiEasy project files to Nomad node for remote build/deploy
# Usage: ./sync-to-nomad.sh
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
NOMAD_HOST="${NOMAD_HOST:-192.168.1.16}"
NOMAD_USER="${NOMAD_USER:-its}"
REMOTE_DIR="${REMOTE_DIR:-/home/$NOMAD_USER/iieasy}"
echo "=== Sync iiEasy to $NOMAD_USER@$NOMAD_HOST:$REMOTE_DIR ==="
# Create exclude list (node_modules, .git, build artifacts)
EXCLUDES=(
--exclude 'node_modules'
--exclude '.git'
--exclude 'dist'
--exclude 'dist-ssr'
--exclude '.cache'
--exclude '.tmp'
--exclude 'build'
--exclude '*.log'
--exclude '.env'
--exclude '.env.local'
--exclude '.env.nomad'
)
if command -v rsync &>/dev/null; then
rsync -avz --progress \
"${EXCLUDES[@]}" \
"$SCRIPT_DIR/" \
"$NOMAD_USER@$NOMAD_HOST:$REMOTE_DIR/"
else
echo "Using tar+ssh (rsync not found)..."
tar --exclude='node_modules' --exclude='.git' --exclude='dist' \
--exclude='.cache' --exclude='.tmp' --exclude='build' \
-cf - . | ssh "$NOMAD_USER@$NOMAD_HOST" "mkdir -p $REMOTE_DIR && cd $REMOTE_DIR && tar -xf -"
fi
echo ""
echo "Done. SSH to node and deploy:"
echo " ssh $NOMAD_USER@$NOMAD_HOST"
echo " cd $REMOTE_DIR"
echo " ./deploy-on-node.sh"
echo ""