@echo off REM ========================================== REM Crawl Manager 서버 배포 스크립트 (Windows) REM ========================================== REM 사용법: deploy.bat REM 사전 준비: SSH 키 설정 또는 비밀번호 인증 REM ========================================== REM ===== 설정 (본인 환경에 맞게 수정) ===== SET SERVER_USER=root SET SERVER_HOST=your-server-ip SET SERVER_PORT=22 SET REMOTE_DIR=/home/crawl-manager SET PROJECT_DIR=%~dp0 echo. echo ========================================== echo Crawl Manager 배포 시작 echo ========================================== echo. REM 1. 서버에 디렉토리 생성 echo [1/4] 서버 디렉토리 준비... ssh -p %SERVER_PORT% %SERVER_USER%@%SERVER_HOST% "mkdir -p %REMOTE_DIR%/postgres_data %REMOTE_DIR%/app_data" REM 2. 파일 전송 (scp) echo [2/4] 파일 전송 중... scp -P %SERVER_PORT% -r "%PROJECT_DIR%src" %SERVER_USER%@%SERVER_HOST%:%REMOTE_DIR%/ scp -P %SERVER_PORT% -r "%PROJECT_DIR%views" %SERVER_USER%@%SERVER_HOST%:%REMOTE_DIR%/ scp -P %SERVER_PORT% -r "%PROJECT_DIR%public" %SERVER_USER%@%SERVER_HOST%:%REMOTE_DIR%/ scp -P %SERVER_PORT% "%PROJECT_DIR%package.json" %SERVER_USER%@%SERVER_HOST%:%REMOTE_DIR%/ scp -P %SERVER_PORT% "%PROJECT_DIR%Dockerfile" %SERVER_USER%@%SERVER_HOST%:%REMOTE_DIR%/ scp -P %SERVER_PORT% "%PROJECT_DIR%docker-compose.yml" %SERVER_USER%@%SERVER_HOST%:%REMOTE_DIR%/ scp -P %SERVER_PORT% "%PROJECT_DIR%.env.production" %SERVER_USER%@%SERVER_HOST%:%REMOTE_DIR%/ scp -P %SERVER_PORT% "%PROJECT_DIR%.dockerignore" %SERVER_USER%@%SERVER_HOST%:%REMOTE_DIR%/ REM 3. Docker 빌드 & 실행 echo [3/4] Docker 빌드 및 실행... ssh -p %SERVER_PORT% %SERVER_USER%@%SERVER_HOST% "cd %REMOTE_DIR% && docker compose down && docker compose build --no-cache && docker compose up -d" REM 4. 상태 확인 echo [4/4] 상태 확인... ssh -p %SERVER_PORT% %SERVER_USER%@%SERVER_HOST% "cd %REMOTE_DIR% && docker compose ps" echo. echo ========================================== echo 배포 완료! echo 관리자: https://admin.startover.co.kr/admin echo ========================================== pause