chore(scripts): obsolete .bat 정리 + invyone 전용 start/reload 추가
Build & Deploy to K8s / build-and-deploy (push) Successful in 4m4s
Build & Deploy to K8s / build-and-deploy (push) Successful in 4m4s
옛 PLM 시절 Windows 스크립트가 현재 invyone 셋업 (compose: docker/dev/docker-compose.invyone.yml, 포트 9772/8083)과 안 맞아 정리.
삭제:
- 루트: start-windows-simple.bat / start-all-separated.bat / stop-all-separated.bat / test-backend-build.bat / run-windows.bat
- 루트: docker-compose.backend.win.yml / docker-compose.frontend.win.yml (옛 PLM 컨테이너명/포트, hardcoded credentials, 위 .bat 외엔 참조 없음)
- scripts/dev/: start-all-parallel.{bat,ps1} / stop-all.{bat,ps1} (모두 위 .yml 참조)
- ※ Mac 스택 (docker-compose.{backend,frontend}.mac.yml + scripts/dev/*.sh) 은 별도 시스템이라 건드리지 않음
신규:
- start.bat: scripts/start/invyone-start-docker-all.bat 으로 위임 (단일 진실의 원천)
- reload.bat: 프론트 컨테이너 재시작 + 백엔드 'sh ./gradlew classes' 로 재컴파일 (Spring DevTools 가 자동 리로드). Docker Desktop bind mount 가 호스트 변경을 컨테이너 inotify 로 안 넘겨서 자동 핫리로드가 안 되는 환경용.
업데이트:
- docs/DOMAIN_MAPPING.md: 개발 환경 표를 현재 포트/compose 로 갱신 + 테넌트 서브도메인 행 추가.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,38 +0,0 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
# Spring Boot 백엔드
|
||||
backend:
|
||||
build:
|
||||
context: ./backend-spring
|
||||
dockerfile: ../docker/dev/backend-spring.Dockerfile
|
||||
container_name: pms-backend-win
|
||||
ports:
|
||||
- "8081:8081"
|
||||
environment:
|
||||
- SPRING_PROFILES_ACTIVE=dev
|
||||
- SERVER_PORT=8081
|
||||
- SPRING_DATASOURCE_URL=jdbc:postgresql://183.99.177.40:5432/invyone
|
||||
- SPRING_DATASOURCE_USERNAME=postgres
|
||||
- SPRING_DATASOURCE_PASSWORD=invyone0909!!
|
||||
- JWT_SECRET=ilshin-plm-super-secret-jwt-key-2024
|
||||
- JWT_EXPIRATION=86400000
|
||||
- FILE_UPLOAD_DIR=./uploads
|
||||
# OpenClaw 연동 설정 — dev 기본 비활성. 별도 docker-compose.openclaw.yml 로 띄울 때 true 로 override
|
||||
- OPENCLAW_ENABLED=${OPENCLAW_ENABLED:-false}
|
||||
- OPENCLAW_GATEWAY_URL=${OPENCLAW_GATEWAY_URL:-http://openclaw:18789}
|
||||
volumes:
|
||||
- ./backend-spring:/app
|
||||
networks:
|
||||
- pms-network
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8081/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 90s
|
||||
|
||||
networks:
|
||||
pms-network:
|
||||
driver: bridge
|
||||
@@ -1,39 +0,0 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
# Next.js 프론트엔드만
|
||||
frontend:
|
||||
build:
|
||||
context: ./frontend
|
||||
dockerfile: ../docker/dev/frontend.Dockerfile
|
||||
container_name: pms-frontend-win
|
||||
ports:
|
||||
- "9771:3000"
|
||||
environment:
|
||||
- NEXT_PUBLIC_API_URL=http://localhost:8081/api
|
||||
- WATCHPACK_POLLING=true
|
||||
- NODE_OPTIONS=--max-old-space-size=4096
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 6G
|
||||
reservations:
|
||||
memory: 2G
|
||||
volumes:
|
||||
- ./frontend:/app
|
||||
- /app/node_modules
|
||||
- /app/.next
|
||||
networks:
|
||||
- pms-network
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000", "||", "exit", "1"]
|
||||
interval: 30s
|
||||
timeout: 15s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
|
||||
networks:
|
||||
pms-network:
|
||||
driver: bridge
|
||||
external: false
|
||||
@@ -33,8 +33,9 @@ DNS 검증 (확인 일자: 2026-04-28)
|
||||
|
||||
| 역할 | 주소 | 비고 |
|
||||
|---|---|---|
|
||||
| Frontend dev | `http://localhost:9771` | docker-compose.frontend.win.yml |
|
||||
| Backend Spring | `http://localhost:8081` | docker-compose.backend.win.yml |
|
||||
| Frontend dev | `http://localhost:9772` | docker/dev/docker-compose.invyone.yml |
|
||||
| Backend Spring | `http://localhost:8083` | docker/dev/docker-compose.invyone.yml |
|
||||
| 테넌트 서브도메인 | `http://<sub>.localhost:9772` | 예: `http://test01.localhost:9772` |
|
||||
|
||||
## 인증 정보
|
||||
|
||||
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
@echo off
|
||||
REM invyone 개발 변경사항 반영 (Windows).
|
||||
REM frontend : 컨테이너 재시작 (Turbopack 캐시 갱신, ~10s)
|
||||
REM backend : 컨테이너 안에서 Java 재컴파일 → Spring DevTools 가 자동 리로드 (~5-15s)
|
||||
REM
|
||||
REM Docker Desktop bind mount 가 호스트 변경을 컨테이너 inotify 로 전파하지 않아
|
||||
REM 자동 핫리로드는 동작하지 않음. 수정 후 이 스크립트로 수동 트리거.
|
||||
|
||||
chcp 65001 >nul
|
||||
pushd "%~dp0"
|
||||
set COMPOSE_FILE=docker\dev\docker-compose.invyone.yml
|
||||
|
||||
docker info >nul 2>&1
|
||||
if errorlevel 1 (
|
||||
echo [reload] Docker Desktop 이 실행 중이지 않습니다.
|
||||
popd
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo [reload] frontend 컨테이너 재시작...
|
||||
docker compose -f %COMPOSE_FILE% restart frontend
|
||||
if errorlevel 1 (
|
||||
echo [reload] frontend 재시작 실패. start.bat 으로 먼저 기동했는지 확인.
|
||||
popd
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [reload] backend Java 재컴파일 ^(Spring DevTools 가 자동 리로드^)...
|
||||
docker exec invyone-backend-spring sh ./gradlew classes
|
||||
if errorlevel 1 (
|
||||
echo [reload] backend 재컴파일 실패. 컨테이너 상태 확인 필요.
|
||||
popd
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [reload] 완료. 브라우저 새로고침하면 변경사항이 반영됩니다.
|
||||
echo Frontend: http://localhost:9772
|
||||
echo Backend: http://localhost:8083/api
|
||||
|
||||
popd
|
||||
pause
|
||||
@@ -1,45 +0,0 @@
|
||||
@echo off
|
||||
|
||||
REM 스크립트가 있는 디렉토리로 이동
|
||||
cd /d "%~dp0"
|
||||
|
||||
echo =====================================
|
||||
echo PLM 솔루션 - Windows 시작
|
||||
echo =====================================
|
||||
|
||||
echo 기존 컨테이너 및 네트워크 정리 중...
|
||||
docker-compose -f docker-compose.win.yml down -v 2>nul
|
||||
docker network rm plm-network 2>nul
|
||||
|
||||
echo PLM 서비스 시작 중...
|
||||
docker-compose -f docker-compose.win.yml build --no-cache
|
||||
docker-compose -f docker-compose.win.yml up -d
|
||||
|
||||
if %errorlevel% equ 0 (
|
||||
echo.
|
||||
echo ✅ PLM 서비스가 성공적으로 시작되었습니다!
|
||||
echo.
|
||||
echo 🌐 접속 URL:
|
||||
echo • 프론트엔드 (Next.js): http://localhost:3000
|
||||
echo • 백엔드 (Spring/JSP): http://localhost:9090
|
||||
echo.
|
||||
echo 📋 서비스 상태 확인:
|
||||
echo docker-compose -f docker-compose.win.yml ps
|
||||
echo.
|
||||
echo 📊 로그 확인:
|
||||
echo docker-compose -f docker-compose.win.yml logs
|
||||
echo.
|
||||
echo 5초 후 프론트엔드 페이지를 자동으로 엽니다...
|
||||
timeout /t 5 /nobreak >nul
|
||||
start http://localhost:3000
|
||||
) else (
|
||||
echo.
|
||||
echo ❌ PLM 서비스 시작에 실패했습니다!
|
||||
echo.
|
||||
echo 🔍 문제 해결 방법:
|
||||
echo 1. Docker Desktop이 실행 중인지 확인
|
||||
echo 2. 포트가 사용 중인지 확인 (3000, 9090)
|
||||
echo 3. 로그 확인: docker-compose -f docker-compose.win.yml logs
|
||||
echo.
|
||||
pause
|
||||
)
|
||||
@@ -1,118 +0,0 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
setlocal EnableDelayedExpansion
|
||||
|
||||
REM 스크립트가 있는 디렉토리에서 루트로 이동
|
||||
cd /d "%~dp0\..\.."
|
||||
|
||||
REM 시작 시간 기록
|
||||
set START_TIME=%DATE% %TIME%
|
||||
|
||||
echo ============================================
|
||||
echo WACE 솔루션 - 전체 서비스 시작 (병렬 최적화)
|
||||
echo ============================================
|
||||
echo [시작 시간] %START_TIME%
|
||||
echo.
|
||||
|
||||
REM Docker Desktop 실행 확인
|
||||
echo [1/5] Docker Desktop 상태 확인 중...
|
||||
docker --version >nul 2>&1
|
||||
if %errorlevel% neq 0 (
|
||||
echo [ERROR] Docker Desktop이 실행되지 않았습니다!
|
||||
echo Docker Desktop을 먼저 실행해주세요.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo [OK] Docker Desktop이 실행 중입니다.
|
||||
echo.
|
||||
|
||||
REM 기존 컨테이너 및 이미지 정리
|
||||
echo [2/5] 기존 컨테이너 및 이미지 정리 중...
|
||||
docker rm -f pms-backend-win pms-frontend-win 2>nul
|
||||
docker rmi -f erp-node-backend erp-node-frontend 2>nul
|
||||
docker network rm pms-network 2>nul
|
||||
docker network create pms-network 2>nul
|
||||
docker system prune -f >nul 2>&1
|
||||
echo [OK] 컨테이너 및 이미지 정리 완료
|
||||
echo.
|
||||
|
||||
REM 병렬 빌드 (docker-compose 자체가 병렬 처리)
|
||||
echo [3/5] 이미지 빌드 중... (백엔드 + 프론트엔드 병렬)
|
||||
echo 이 작업은 시간이 걸릴 수 있습니다...
|
||||
echo.
|
||||
|
||||
REM 백엔드 빌드 (캐시 없이 완전 재빌드)
|
||||
docker-compose -f docker-compose.backend.win.yml build --no-cache
|
||||
if %errorlevel% neq 0 (
|
||||
echo [ERROR] 백엔드 빌드 실패!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo [OK] 백엔드 빌드 완료
|
||||
echo.
|
||||
|
||||
REM 프론트엔드 빌드 (캐시 없이 완전 재빌드)
|
||||
docker-compose -f docker-compose.frontend.win.yml build --no-cache
|
||||
if %errorlevel% neq 0 (
|
||||
echo [ERROR] 프론트엔드 빌드 실패!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo [OK] 프론트엔드 빌드 완료
|
||||
echo.
|
||||
|
||||
REM 기존 컨테이너 정리 후 서비스 시작
|
||||
echo [4/5] 서비스 시작 중...
|
||||
docker-compose -f docker-compose.backend.win.yml down -v 2>nul
|
||||
docker-compose -f docker-compose.frontend.win.yml down -v 2>nul
|
||||
|
||||
REM 백엔드 시작
|
||||
echo 백엔드 서비스 시작...
|
||||
docker-compose -f docker-compose.backend.win.yml up -d
|
||||
if %errorlevel% neq 0 (
|
||||
echo [ERROR] 백엔드 시작 실패!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM 프론트엔드 시작
|
||||
echo 프론트엔드 서비스 시작...
|
||||
docker-compose -f docker-compose.frontend.win.yml up -d
|
||||
if %errorlevel% neq 0 (
|
||||
echo [ERROR] 프론트엔드 시작 실패!
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo [OK] 서비스 시작 완료
|
||||
echo.
|
||||
|
||||
REM 안정화 대기
|
||||
echo [5/5] 서비스 안정화 대기 중... (10초)
|
||||
timeout /t 10 /nobreak >nul
|
||||
echo.
|
||||
|
||||
echo ============================================
|
||||
echo [완료] 모든 서비스가 시작되었습니다!
|
||||
echo ============================================
|
||||
echo.
|
||||
echo [DATABASE] PostgreSQL: http://39.117.244.52:11132
|
||||
echo [BACKEND] Spring Boot API: http://localhost:8081/api
|
||||
echo [FRONTEND] Next.js: http://localhost:9771
|
||||
echo.
|
||||
echo [서비스 상태 확인]
|
||||
echo docker-compose -f docker-compose.backend.win.yml ps
|
||||
echo docker-compose -f docker-compose.frontend.win.yml ps
|
||||
echo.
|
||||
echo [로그 확인]
|
||||
echo 백엔드: docker-compose -f docker-compose.backend.win.yml logs -f
|
||||
echo 프론트엔드: docker-compose -f docker-compose.frontend.win.yml logs -f
|
||||
echo.
|
||||
echo [서비스 중지]
|
||||
echo scripts\dev\stop-all.bat
|
||||
echo.
|
||||
|
||||
set END_TIME=%DATE% %TIME%
|
||||
echo [종료 시간] %END_TIME%
|
||||
echo ============================================
|
||||
|
||||
pause
|
||||
@@ -1,183 +0,0 @@
|
||||
# WACE 솔루션 - 전체 서비스 시작 (병렬 최적화) - PowerShell 버전
|
||||
# 실행 방법: powershell -ExecutionPolicy Bypass -File .\scripts\dev\start-all-parallel.ps1
|
||||
|
||||
# UTF-8 출력 설정
|
||||
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
||||
$OutputEncoding = [System.Text.Encoding]::UTF8
|
||||
|
||||
# 스크립트 위치에서 루트 디렉토리로 이동
|
||||
$scriptPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
|
||||
Set-Location (Join-Path $scriptPath "..\..")
|
||||
|
||||
# 시작 시간 기록
|
||||
$startTime = Get-Date
|
||||
$startTimeFormatted = $startTime.ToString("yyyy-MM-dd HH:mm:ss")
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "============================================" -ForegroundColor Cyan
|
||||
Write-Host "WACE 솔루션 - 전체 서비스 시작 (병렬 최적화)" -ForegroundColor Cyan
|
||||
Write-Host "============================================" -ForegroundColor Cyan
|
||||
Write-Host "[시작 시간] $startTimeFormatted" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
|
||||
# Docker Desktop 실행 확인
|
||||
Write-Host "[1/5] Docker Desktop 상태 확인 중..." -ForegroundColor White
|
||||
$dockerCheck = docker --version 2>&1
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "[ERROR] Docker Desktop이 실행되지 않았습니다!" -ForegroundColor Red
|
||||
Write-Host " Docker Desktop을 먼저 실행해주세요." -ForegroundColor Red
|
||||
Read-Host "계속하려면 Enter를 누르세요"
|
||||
exit 1
|
||||
}
|
||||
Write-Host "[OK] Docker Desktop이 실행 중입니다." -ForegroundColor Green
|
||||
Write-Host ""
|
||||
|
||||
# 기존 컨테이너 정리
|
||||
Write-Host "[2/5] 기존 컨테이너 정리 중..." -ForegroundColor White
|
||||
docker rm -f pms-backend-win pms-frontend-win 2>$null | Out-Null
|
||||
docker network rm pms-network 2>$null | Out-Null
|
||||
docker network create pms-network 2>$null | Out-Null
|
||||
Write-Host "[OK] 컨테이너 정리 완료" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
|
||||
# 병렬 빌드 시작
|
||||
$parallelStart = Get-Date
|
||||
Write-Host "[3/5] 이미지 빌드 중... (백엔드 + 프론트엔드 병렬)" -ForegroundColor White
|
||||
Write-Host " 이 작업은 시간이 걸릴 수 있습니다..." -ForegroundColor Gray
|
||||
Write-Host ""
|
||||
|
||||
# 병렬 빌드 실행
|
||||
$backendBuildJob = Start-Job -ScriptBlock {
|
||||
param($workDir)
|
||||
Set-Location $workDir
|
||||
$output = docker-compose -f docker-compose.backend.win.yml build 2>&1
|
||||
return @{
|
||||
Success = $LASTEXITCODE -eq 0
|
||||
Output = $output
|
||||
}
|
||||
} -ArgumentList $PWD.Path
|
||||
|
||||
$frontendBuildJob = Start-Job -ScriptBlock {
|
||||
param($workDir)
|
||||
Set-Location $workDir
|
||||
$output = docker-compose -f docker-compose.frontend.win.yml build 2>&1
|
||||
return @{
|
||||
Success = $LASTEXITCODE -eq 0
|
||||
Output = $output
|
||||
}
|
||||
} -ArgumentList $PWD.Path
|
||||
|
||||
Write-Host " 백엔드 빌드 진행 중..." -ForegroundColor Gray
|
||||
Write-Host " 프론트엔드 빌드 진행 중..." -ForegroundColor Gray
|
||||
Write-Host ""
|
||||
|
||||
# 빌드 완료 대기
|
||||
$null = Wait-Job -Job $backendBuildJob, $frontendBuildJob
|
||||
|
||||
$backendResult = Receive-Job -Job $backendBuildJob
|
||||
$frontendResult = Receive-Job -Job $frontendBuildJob
|
||||
|
||||
Remove-Job -Job $backendBuildJob, $frontendBuildJob -Force
|
||||
|
||||
# 빌드 결과 확인
|
||||
$buildFailed = $false
|
||||
|
||||
if ($backendResult.Success) {
|
||||
Write-Host "[OK] 백엔드 빌드 완료" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host "[ERROR] 백엔드 빌드 실패!" -ForegroundColor Red
|
||||
Write-Host $backendResult.Output -ForegroundColor Red
|
||||
$buildFailed = $true
|
||||
}
|
||||
|
||||
if ($frontendResult.Success) {
|
||||
Write-Host "[OK] 프론트엔드 빌드 완료" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host "[ERROR] 프론트엔드 빌드 실패!" -ForegroundColor Red
|
||||
Write-Host $frontendResult.Output -ForegroundColor Red
|
||||
$buildFailed = $true
|
||||
}
|
||||
|
||||
if ($buildFailed) {
|
||||
Read-Host "빌드 실패. Enter를 누르면 종료됩니다"
|
||||
exit 1
|
||||
}
|
||||
|
||||
$parallelEnd = Get-Date
|
||||
$parallelDuration = ($parallelEnd - $parallelStart).TotalSeconds
|
||||
Write-Host "[INFO] 빌드 소요 시간: $([math]::Round($parallelDuration))초" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
|
||||
# 서비스 시작
|
||||
$serviceStart = Get-Date
|
||||
Write-Host "[4/5] 서비스 시작 중..." -ForegroundColor White
|
||||
|
||||
# 기존 컨테이너 정리
|
||||
docker-compose -f docker-compose.backend.win.yml down -v 2>$null | Out-Null
|
||||
docker-compose -f docker-compose.frontend.win.yml down -v 2>$null | Out-Null
|
||||
|
||||
# 백엔드 시작
|
||||
Write-Host " 백엔드 서비스 시작..." -ForegroundColor Gray
|
||||
docker-compose -f docker-compose.backend.win.yml up -d 2>&1 | Out-Null
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "[ERROR] 백엔드 시작 실패!" -ForegroundColor Red
|
||||
Read-Host "계속하려면 Enter를 누르세요"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# 프론트엔드 시작
|
||||
Write-Host " 프론트엔드 서비스 시작..." -ForegroundColor Gray
|
||||
docker-compose -f docker-compose.frontend.win.yml up -d 2>&1 | Out-Null
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Host "[ERROR] 프론트엔드 시작 실패!" -ForegroundColor Red
|
||||
Read-Host "계속하려면 Enter를 누르세요"
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "[OK] 서비스 시작 완료" -ForegroundColor Green
|
||||
|
||||
$serviceEnd = Get-Date
|
||||
$serviceDuration = ($serviceEnd - $serviceStart).TotalSeconds
|
||||
Write-Host "[INFO] 서비스 시작 소요 시간: $([math]::Round($serviceDuration))초" -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
|
||||
# 안정화 대기
|
||||
Write-Host "[5/5] 서비스 안정화 대기 중... (10초)" -ForegroundColor White
|
||||
Start-Sleep -Seconds 10
|
||||
Write-Host ""
|
||||
|
||||
Write-Host "============================================" -ForegroundColor Cyan
|
||||
Write-Host "[완료] 모든 서비스가 시작되었습니다!" -ForegroundColor Green
|
||||
Write-Host "============================================" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
Write-Host "[DATABASE] PostgreSQL: http://39.117.244.52:11132" -ForegroundColor White
|
||||
Write-Host "[BACKEND] Spring Boot API: http://localhost:8081/api" -ForegroundColor White
|
||||
Write-Host "[FRONTEND] Next.js: http://localhost:9771" -ForegroundColor White
|
||||
Write-Host ""
|
||||
Write-Host "[서비스 상태 확인]" -ForegroundColor Yellow
|
||||
Write-Host " docker-compose -f docker-compose.backend.win.yml ps" -ForegroundColor Gray
|
||||
Write-Host " docker-compose -f docker-compose.frontend.win.yml ps" -ForegroundColor Gray
|
||||
Write-Host ""
|
||||
Write-Host "[로그 확인]" -ForegroundColor Yellow
|
||||
Write-Host " 백엔드: docker-compose -f docker-compose.backend.win.yml logs -f" -ForegroundColor Gray
|
||||
Write-Host " 프론트엔드: docker-compose -f docker-compose.frontend.win.yml logs -f" -ForegroundColor Gray
|
||||
Write-Host ""
|
||||
Write-Host "[서비스 중지]" -ForegroundColor Yellow
|
||||
Write-Host " .\scripts\dev\stop-all.ps1" -ForegroundColor Gray
|
||||
Write-Host ""
|
||||
|
||||
# 종료 시간 계산
|
||||
$endTime = Get-Date
|
||||
$endTimeFormatted = $endTime.ToString("yyyy-MM-dd HH:mm:ss")
|
||||
$totalDuration = ($endTime - $startTime).TotalSeconds
|
||||
$minutes = [math]::Floor($totalDuration / 60)
|
||||
$seconds = [math]::Round($totalDuration % 60)
|
||||
|
||||
Write-Host "============================================" -ForegroundColor Cyan
|
||||
Write-Host "[종료 시간] $endTimeFormatted" -ForegroundColor Yellow
|
||||
Write-Host "[총 소요 시간] ${minutes}분 ${seconds}초" -ForegroundColor Yellow
|
||||
Write-Host " - 빌드: $([math]::Round($parallelDuration))초" -ForegroundColor Gray
|
||||
Write-Host " - 서비스 시작: $([math]::Round($serviceDuration))초" -ForegroundColor Gray
|
||||
Write-Host "============================================" -ForegroundColor Cyan
|
||||
|
||||
Read-Host "계속하려면 Enter를 누르세요"
|
||||
@@ -1,30 +0,0 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
|
||||
REM 스크립트가 있는 디렉토리에서 루트로 이동
|
||||
cd /d "%~dp0\..\.."
|
||||
|
||||
echo ============================================
|
||||
echo WACE 솔루션 - 전체 서비스 중지
|
||||
echo ============================================
|
||||
echo.
|
||||
|
||||
echo 🛑 백엔드 서비스 중지 중...
|
||||
docker-compose -f docker-compose.backend.win.yml down -v 2>nul
|
||||
echo ✅ 백엔드 서비스 중지 완료
|
||||
echo.
|
||||
|
||||
echo 🛑 프론트엔드 서비스 중지 중...
|
||||
docker-compose -f docker-compose.frontend.win.yml down -v 2>nul
|
||||
echo ✅ 프론트엔드 서비스 중지 완료
|
||||
echo.
|
||||
|
||||
echo 🧹 네트워크 정리 중...
|
||||
docker network rm pms-network 2>nul
|
||||
echo.
|
||||
|
||||
echo ============================================
|
||||
echo 🎉 모든 서비스가 중지되었습니다!
|
||||
echo ============================================
|
||||
|
||||
pause
|
||||
@@ -1,33 +0,0 @@
|
||||
# WACE 솔루션 - 전체 서비스 중지 - PowerShell 버전
|
||||
# 실행 방법: powershell -ExecutionPolicy Bypass -File .\scripts\dev\stop-all.ps1
|
||||
|
||||
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
||||
|
||||
# 스크립트 위치에서 루트 디렉토리로 이동
|
||||
$scriptPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
|
||||
Set-Location (Join-Path $scriptPath "..\..")
|
||||
|
||||
Write-Host "============================================" -ForegroundColor Cyan
|
||||
Write-Host "WACE 솔루션 - 전체 서비스 중지" -ForegroundColor Cyan
|
||||
Write-Host "============================================" -ForegroundColor Cyan
|
||||
Write-Host ""
|
||||
|
||||
Write-Host "🛑 백엔드 서비스 중지 중..." -ForegroundColor Yellow
|
||||
docker-compose -f docker-compose.backend.win.yml down -v 2>$null
|
||||
Write-Host "✅ 백엔드 서비스 중지 완료" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
|
||||
Write-Host "🛑 프론트엔드 서비스 중지 중..." -ForegroundColor Yellow
|
||||
docker-compose -f docker-compose.frontend.win.yml down -v 2>$null
|
||||
Write-Host "✅ 프론트엔드 서비스 중지 완료" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
|
||||
Write-Host "🧹 네트워크 정리 중..." -ForegroundColor Yellow
|
||||
docker network rm pms-network 2>$null
|
||||
Write-Host ""
|
||||
|
||||
Write-Host "============================================" -ForegroundColor Cyan
|
||||
Write-Host "🎉 모든 서비스가 중지되었습니다!" -ForegroundColor Green
|
||||
Write-Host "============================================" -ForegroundColor Cyan
|
||||
|
||||
Read-Host "계속하려면 Enter를 누르세요"
|
||||
@@ -1,71 +0,0 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
|
||||
REM 스크립트가 있는 디렉토리로 이동
|
||||
cd /d "%~dp0"
|
||||
|
||||
echo ============================================
|
||||
echo PLM 솔루션 - 전체 서비스 시작 (분리형)
|
||||
echo ============================================
|
||||
|
||||
echo.
|
||||
echo 🚀 백엔드와 프론트엔드를 순차적으로 시작합니다...
|
||||
echo.
|
||||
|
||||
REM 백엔드 먼저 시작
|
||||
echo ============================================
|
||||
echo 1. 백엔드 서비스 시작 중...
|
||||
echo ============================================
|
||||
|
||||
REM 기존 컨테이너 및 네트워크 정리
|
||||
docker-compose -f docker-compose.backend.win.yml down -v 2>nul
|
||||
docker-compose -f docker-compose.frontend.win.yml down -v 2>nul
|
||||
docker network rm pms-network 2>nul
|
||||
|
||||
REM 백엔드 빌드 및 시작
|
||||
docker-compose -f docker-compose.backend.win.yml build --no-cache
|
||||
docker-compose -f docker-compose.backend.win.yml up -d
|
||||
|
||||
echo.
|
||||
echo ⏳ 백엔드 서비스 안정화 대기 중... (20초)
|
||||
timeout /t 20 /nobreak >nul
|
||||
|
||||
REM 프론트엔드 시작
|
||||
echo.
|
||||
echo ============================================
|
||||
echo 2. 프론트엔드 서비스 시작 중...
|
||||
echo ============================================
|
||||
|
||||
REM 프론트엔드 빌드 및 시작
|
||||
docker-compose -f docker-compose.frontend.win.yml build --no-cache
|
||||
docker-compose -f docker-compose.frontend.win.yml up -d
|
||||
|
||||
echo.
|
||||
echo ⏳ 프론트엔드 서비스 안정화 대기 중... (10초)
|
||||
timeout /t 10 /nobreak >nul
|
||||
|
||||
echo.
|
||||
echo ============================================
|
||||
echo 🎉 모든 서비스가 시작되었습니다!
|
||||
echo ============================================
|
||||
echo.
|
||||
echo [DATABASE] PostgreSQL: http://39.117.244.52:11132
|
||||
echo [BACKEND] Spring Boot: http://localhost:8081/api
|
||||
echo [FRONTEND] Next.js: http://localhost:9771
|
||||
echo.
|
||||
echo 서비스 상태 확인:
|
||||
echo 백엔드: docker-compose -f docker-compose.backend.win.yml ps
|
||||
echo 프론트엔드: docker-compose -f docker-compose.frontend.win.yml ps
|
||||
echo.
|
||||
echo 로그 확인:
|
||||
echo 백엔드: docker-compose -f docker-compose.backend.win.yml logs -f
|
||||
echo 프론트엔드: docker-compose -f docker-compose.frontend.win.yml logs -f
|
||||
echo.
|
||||
echo 서비스 중지:
|
||||
echo 백엔드: docker-compose -f docker-compose.backend.win.yml down
|
||||
echo 프론트엔드: docker-compose -f docker-compose.frontend.win.yml down
|
||||
echo 전체: stop-all-separated.bat
|
||||
echo.
|
||||
echo ============================================
|
||||
|
||||
pause
|
||||
@@ -1,97 +0,0 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
|
||||
REM 스크립트가 있는 디렉토리로 이동
|
||||
cd /d "%~dp0"
|
||||
|
||||
echo ============================================
|
||||
echo PLM 솔루션 - 윈도우 간편 시작
|
||||
echo ============================================
|
||||
echo.
|
||||
|
||||
REM Docker Desktop 실행 확인
|
||||
echo 🔍 Docker Desktop 상태 확인 중...
|
||||
docker --version >nul 2>&1
|
||||
if %errorlevel% neq 0 (
|
||||
echo ❌ Docker Desktop이 실행되지 않았습니다!
|
||||
echo Docker Desktop을 먼저 실행해주세요.
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo ✅ Docker Desktop이 실행 중입니다.
|
||||
echo.
|
||||
|
||||
REM 기존 컨테이너 정리
|
||||
echo 🧹 기존 컨테이너 정리 중...
|
||||
docker-compose -f docker-compose.backend.win.yml down -v 2>nul
|
||||
docker-compose -f docker-compose.frontend.win.yml down -v 2>nul
|
||||
docker network rm pms-network 2>nul
|
||||
echo.
|
||||
|
||||
REM 백엔드 시작
|
||||
echo ============================================
|
||||
echo 🚀 1단계: 백엔드 서비스 시작 중...
|
||||
echo ============================================
|
||||
docker-compose -f docker-compose.backend.win.yml up -d --build
|
||||
|
||||
if %errorlevel% neq 0 (
|
||||
echo ❌ 백엔드 시작 실패!
|
||||
echo 로그를 확인하세요: docker-compose -f docker-compose.backend.win.yml logs
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo ✅ 백엔드 서비스 시작 완료
|
||||
echo ⏳ 백엔드 안정화 대기 중... (30초)
|
||||
timeout /t 30 /nobreak >nul
|
||||
|
||||
REM 프론트엔드 시작
|
||||
echo.
|
||||
echo ============================================
|
||||
echo 🎨 2단계: 프론트엔드 서비스 시작 중...
|
||||
echo ============================================
|
||||
docker-compose -f docker-compose.frontend.win.yml up -d --build
|
||||
|
||||
if %errorlevel% neq 0 (
|
||||
echo ❌ 프론트엔드 시작 실패!
|
||||
echo 로그를 확인하세요: docker-compose -f docker-compose.frontend.win.yml logs
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo ✅ 프론트엔드 서비스 시작 완료
|
||||
echo ⏳ 프론트엔드 안정화 대기 중... (15초)
|
||||
timeout /t 15 /nobreak >nul
|
||||
|
||||
echo.
|
||||
echo ============================================
|
||||
echo 🎉 PLM 솔루션이 성공적으로 시작되었습니다!
|
||||
echo ============================================
|
||||
echo.
|
||||
echo 📱 접속 정보:
|
||||
echo • 프론트엔드: http://localhost:9771
|
||||
echo • 백엔드 API: http://localhost:8081/api
|
||||
echo • 데이터베이스: 39.117.244.52:11132
|
||||
echo.
|
||||
echo 📊 서비스 상태 확인:
|
||||
echo docker-compose -f docker-compose.backend.win.yml ps
|
||||
echo docker-compose -f docker-compose.frontend.win.yml ps
|
||||
echo.
|
||||
echo 📋 로그 확인:
|
||||
echo 백엔드: docker-compose -f docker-compose.backend.win.yml logs -f
|
||||
echo 프론트엔드: docker-compose -f docker-compose.frontend.win.yml logs -f
|
||||
echo.
|
||||
echo 🛑 서비스 중지:
|
||||
echo stop-all-separated.bat 실행
|
||||
echo.
|
||||
|
||||
REM 브라우저 자동 열기
|
||||
echo 5초 후 브라우저에서 애플리케이션을 엽니다...
|
||||
timeout /t 5 /nobreak >nul
|
||||
start http://localhost:9771
|
||||
|
||||
echo.
|
||||
echo 애플리케이션이 준비되었습니다!
|
||||
pause
|
||||
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
REM invyone 개발 컨테이너 기동 (Windows). 더블클릭 또는 cmd 에서 실행.
|
||||
REM 실제 로직은 scripts\start\invyone-start-docker-all.bat 에 있음 (단일 진실의 원천).
|
||||
call "%~dp0scripts\start\invyone-start-docker-all.bat"
|
||||
@@ -1,56 +0,0 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
|
||||
echo ============================================
|
||||
echo PLM 솔루션 - 전체 서비스 중지 (분리형)
|
||||
echo ============================================
|
||||
|
||||
echo.
|
||||
echo 🛑 백엔드와 프론트엔드 서비스를 순차적으로 중지합니다...
|
||||
echo.
|
||||
|
||||
REM 프론트엔드 먼저 중지
|
||||
echo ============================================
|
||||
echo 1. 프론트엔드 서비스 중지 중...
|
||||
echo ============================================
|
||||
|
||||
docker-compose -f docker-compose.frontend.win.yml down -v
|
||||
|
||||
echo.
|
||||
echo ⏳ 프론트엔드 서비스 완전 중지 대기 중... (5초)
|
||||
timeout /t 5 /nobreak >nul
|
||||
|
||||
REM 백엔드 중지
|
||||
echo.
|
||||
echo ============================================
|
||||
echo 2. 백엔드 서비스 중지 중...
|
||||
echo ============================================
|
||||
|
||||
docker-compose -f docker-compose.backend.win.yml down -v
|
||||
|
||||
echo.
|
||||
echo ⏳ 백엔드 서비스 완전 중지 대기 중... (5초)
|
||||
timeout /t 5 /nobreak >nul
|
||||
|
||||
REM 네트워크 정리 (선택사항)
|
||||
echo.
|
||||
echo ============================================
|
||||
echo 3. 네트워크 정리 중...
|
||||
echo ============================================
|
||||
|
||||
docker network rm pms-network 2>nul || echo 네트워크가 이미 삭제되었습니다.
|
||||
|
||||
echo.
|
||||
echo ============================================
|
||||
echo ✅ 모든 서비스가 중지되었습니다!
|
||||
echo ============================================
|
||||
echo.
|
||||
echo 서비스 상태 확인:
|
||||
echo docker ps
|
||||
echo.
|
||||
echo 서비스 시작:
|
||||
echo start-all-separated.bat
|
||||
echo.
|
||||
echo ============================================
|
||||
|
||||
pause
|
||||
@@ -1,47 +0,0 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
|
||||
REM 스크립트가 있는 디렉토리로 이동
|
||||
cd /d "%~dp0"
|
||||
|
||||
echo ============================================
|
||||
echo 백엔드 빌드 테스트 (Windows 전용)
|
||||
echo ============================================
|
||||
echo.
|
||||
|
||||
echo 🔍 기존 컨테이너 정리 중...
|
||||
docker-compose -f docker-compose.backend.win.yml down -v 2>nul
|
||||
|
||||
echo.
|
||||
echo 🚀 백엔드 빌드 시작...
|
||||
docker-compose -f docker-compose.backend.win.yml build --no-cache
|
||||
|
||||
if %errorlevel% equ 0 (
|
||||
echo.
|
||||
echo ✅ 백엔드 빌드 성공!
|
||||
echo.
|
||||
echo 🚀 백엔드 시작 중...
|
||||
docker-compose -f docker-compose.backend.win.yml up -d
|
||||
|
||||
if %errorlevel% equ 0 (
|
||||
echo ✅ 백엔드 시작 완료!
|
||||
echo.
|
||||
echo 📊 컨테이너 상태:
|
||||
docker-compose -f docker-compose.backend.win.yml ps
|
||||
echo.
|
||||
echo 📋 로그 확인:
|
||||
echo docker-compose -f docker-compose.backend.win.yml logs -f
|
||||
echo.
|
||||
echo 🌐 헬스체크:
|
||||
echo http://localhost:8081/health
|
||||
) else (
|
||||
echo ❌ 백엔드 시작 실패!
|
||||
echo 로그를 확인하세요: docker-compose -f docker-compose.backend.win.yml logs
|
||||
)
|
||||
) else (
|
||||
echo ❌ 백엔드 빌드 실패!
|
||||
echo 위의 오류 메시지를 확인하세요.
|
||||
)
|
||||
|
||||
echo.
|
||||
pause
|
||||
Reference in New Issue
Block a user