#!/bin/bash # Quick deploy to GPU node with hot reload # Usage: ./scripts/gpu-dev-deploy.sh set -e GPU_HOST="${GPU_HOST:-root@138.197.163.123}" REMOTE_DIR="/root/art-dag/celery" echo "=== GPU Dev Deploy ===" echo "Syncing code to $GPU_HOST..." # Sync code (excluding cache, git, __pycache__) rsync -avz --delete \ --exclude '.git' \ --exclude '__pycache__' \ --exclude '*.pyc' \ --exclude '.pytest_cache' \ --exclude 'node_modules' \ --exclude '.env' \ ./ "$GPU_HOST:$REMOTE_DIR/" echo "Restarting GPU worker..." ssh "$GPU_HOST" "docker kill \$(docker ps -q -f name=l1-gpu-worker) 2>/dev/null || true" echo "Waiting for new container..." sleep 10 # Show new container logs ssh "$GPU_HOST" "docker logs --tail 30 \$(docker ps -q -f name=l1-gpu-worker)" echo "" echo "=== Deploy Complete ===" echo "Use 'ssh $GPU_HOST docker logs -f \$(docker ps -q -f name=l1-gpu-worker)' to follow logs"