파일
wbx-spring/scripts/install.bat
accura 476f8a0565 Initial commit: WBX Spring Framework Core
Spring Boot 3.5.0 + Java 21 기반 엔터프라이즈 프레임워크
- Auth: JWT, MFA/TOTP, OAuth2 SSO, PasswordPolicy, LoginHistory
- RBAC: Role-Permission, DeptScope, Redis 캐시
- Approval: Handler 패턴 결재 엔진
- Notification: SSE 실시간 알림
- File: Local/Azure Blob/AWS S3/GCP Storage
- DataSource: Multi-DB 라우팅 (MySQL/PG/Oracle/MSSQL)
- Admin: Thymeleaf 11화면 콘솔
- Compat: WBX FastAPI 호환 (에러/페이징)
- Flyway: 4종 DBMS 마이그레이션
- Scripts: install.bat/sh, deploy-prod.sh
- Docs: 설치가이드(OnPremise/Cloud), 개발자가이드 PDF

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 10:27:18 +09:00

153 줄
4.3 KiB
Batchfile

@echo off
chcp 65001 >nul 2>&1
setlocal EnableDelayedExpansion
:: ============================================================
:: WBX Spring Core — Windows 설치 스크립트
:: 사용법: scripts\install.bat
:: ============================================================
echo.
echo ==========================================
echo WBX Spring Core — 설치 점검
echo ==========================================
echo.
set ERRORS=0
:: ---------- 1. JDK 21 ----------
echo 1. JDK 확인
where java >nul 2>&1
if %ERRORLEVEL% equ 0 (
for /f "tokens=3" %%v in ('java -version 2^>^&1 ^| findstr /i "version"') do (
set "JAVA_FULL=%%~v"
)
for /f "tokens=1 delims=." %%m in ("!JAVA_FULL!") do set "JAVA_MAJOR=%%m"
if !JAVA_MAJOR! GEQ 21 (
echo [OK] JDK !JAVA_FULL!
) else (
echo [FAIL] JDK !JAVA_FULL! — 21 이상 필요
set /a ERRORS+=1
)
) else (
echo [FAIL] java 명령어 없음 — JDK 21 설치 필요
set /a ERRORS+=1
)
:: ---------- 2. Git ----------
echo 2. Git 확인
where git >nul 2>&1
if %ERRORLEVEL% equ 0 (
for /f "delims=" %%g in ('git --version') do echo [OK] %%g
) else (
echo [FAIL] git 없음
set /a ERRORS+=1
)
:: ---------- 3. Docker (선택) ----------
echo 3. Docker 확인 (선택)
where docker >nul 2>&1
if %ERRORLEVEL% equ 0 (
for /f "delims=" %%d in ('docker --version') do echo [OK] %%d
) else (
echo [WARN] Docker 미설치 — DB/Redis를 직접 설치해야 합니다
)
:: ---------- 4. 빌드 ----------
echo 4. Gradle 빌드
if !ERRORS! GTR 0 (
echo [FAIL] 사전 요구사항 미충족 — 빌드 건너뜀
) else (
call gradlew.bat build -x test --console=plain -q
if !ERRORLEVEL! equ 0 (
echo [OK] BUILD SUCCESSFUL
) else (
echo [FAIL] 빌드 실패
set /a ERRORS+=1
)
)
:: ---------- 5. .env 템플릿 ----------
echo 5. 환경변수 파일
if not exist .env (
(
echo # ===== WBX Spring Core — 환경변수 =====
echo # 이 파일을 환경에 맞게 수정하세요.
echo.
echo # --- 프로필 ---
echo SPRING_PROFILES_ACTIVE=prod,mysql
echo.
echo # --- 서버 ---
echo SERVER_CONTEXT_PATH=/
echo.
echo # --- JWT ^(필수 변경!^) ---
echo JWT_SECRET=your-production-secret-key-minimum-256-bits-long
echo.
echo # --- DB ---
echo DB_HOST=localhost
echo DB_PORT=3306
echo DB_NAME=wbx_spring
echo DB_USER=wbxapp
echo DB_PASS=StrongP@ss
echo.
echo # --- Redis ---
echo SPRING_DATA_REDIS_HOST=localhost
echo.
echo # --- CORS ---
echo CORS_ORIGINS=https://app.company.com
echo.
echo # --- 로그 경로 ---
echo LOG_PATH=D:\wbx-app\logs\app.log
echo.
echo # --- Azure SSO ^(azure 프로필 사용 시^) ---
echo # AZURE_CLIENT_ID=
echo # AZURE_CLIENT_SECRET=
echo # AZURE_TENANT_ID=
echo.
echo # --- Azure Blob Storage ---
echo # AZURE_STORAGE_ACCOUNT=
echo # AZURE_STORAGE_KEY=
echo # AZURE_CONTAINER=uploads
echo.
echo # --- AWS Cognito ^(aws 프로필 사용 시^) ---
echo # AWS_COGNITO_CLIENT_ID=
echo # AWS_COGNITO_CLIENT_SECRET=
echo # AWS_USER_POOL_ID=
echo # AWS_REGION=ap-northeast-2
echo.
echo # --- AWS S3 ---
echo # AWS_S3_BUCKET=
echo # AWS_ACCESS_KEY=
echo # AWS_SECRET_KEY=
) > .env
echo [OK] .env 생성 완료 (값을 수정하세요)
) else (
echo [WARN] .env 이미 존재 — 건너뜀
)
:: ---------- 6. 디렉토리 ----------
echo 6. 디렉토리 생성
if not exist logs mkdir logs
if not exist uploads mkdir uploads
if not exist backup mkdir backup
echo [OK] logs\ uploads\ backup\
:: ---------- 결과 ----------
echo.
echo ==========================================
if !ERRORS! equ 0 (
echo 설치 점검 완료
echo.
echo 다음 단계:
echo 1. .env 파일을 환경에 맞게 수정
echo 2. DB 생성 (또는 docker compose -f docker-compose-dev.yml up -d)
echo 3. gradlew.bat bootRun
echo 4. http://localhost:8080/health 확인
) else (
echo 오류 !ERRORS!건 — 위의 [FAIL] 항목을 해결하세요
)
echo ==========================================
echo.
endlocal