#!/bin/bash

# ===== 설정 =====
KEY="./1.key"
USER="ubuntu"
HOST="129.154.58.6"
REMOTE_DIR="/var/www/bandosj.com/public_html"
ARCHIVE_NAME="dist.tar.gz"

# ===== nvm 초기화 및 빌드 =====
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh"

echo "🟢 Node.js LTS 버전 활성화..."
nvm use --lts || { echo "❌ Node 설정 실패"; exit 1; }

echo "🔧 빌드 중..."
npm install
npm run build || { echo "❌ 빌드 실패"; exit 1; }

# ===== 압축 =====
echo "📦 dist 디렉토리 압축 중..."
COPYFILE_DISABLE=1 tar -czf "$ARCHIVE_NAME" -C dist .

# ===== 파일 전송 =====
echo "🚀 압축 파일 전송 중..."
scp -i "$KEY" "$ARCHIVE_NAME" "$USER@$HOST:/tmp/$ARCHIVE_NAME" || { echo "❌ 파일 전송 실패"; exit 1; }

# ===== 원격 서버에서 압축 해제 및 배치 =====
echo "🔧 서버에서 배포 진행..."
ssh -i "$KEY" "$USER@$HOST" << EOF
    sudo mkdir -p "$REMOTE_DIR"
    sudo rm -rf "$REMOTE_DIR"/*
    sudo tar -xzf /tmp/$ARCHIVE_NAME -C "$REMOTE_DIR"
    sudo rm /tmp/$ARCHIVE_NAME
EOF

# ===== 로컬 정리 =====
rm "$ARCHIVE_NAME"

# ===== 완료 =====
echo "✅ 배포 완료! http://bandosj.com 에서 확인해보세요."
