윈도우용 실행파일 커밋

This commit is contained in:
2025-09-22 17:46:23 +09:00
parent eb1a6aa206
commit 26ede5830c
9 changed files with 208 additions and 14 deletions

View File

@@ -0,0 +1,28 @@
# Windows 개발 환경 전용 Dockerfile (단순 개발 모드)
FROM node:20-bookworm-slim
WORKDIR /app
# 필요한 패키지 설치 (wget 포함)
RUN apt-get update \
&& apt-get install -y --no-install-recommends openssl ca-certificates wget \
&& rm -rf /var/lib/apt/lists/*
# package.json 복사 및 의존성 설치
COPY package*.json ./
RUN npm ci
# 소스 코드 복사
COPY . .
# Prisma 클라이언트 생성
RUN npx prisma generate
# 개발 환경 설정
ENV NODE_ENV=development
# 포트 노출
EXPOSE 8080
# 개발 서버 시작 (nodemon 사용)
CMD ["npm", "run", "dev"]

View File

@@ -103,7 +103,7 @@ export const getBatchTranslations = async (
}
// 2. 모든 key_id를 추출
const keyIds = langKeyMasters.map((master) => master.key_id);
const keyIds = langKeyMasters.map((master: any) => master.key_id);
// 3. 요청된 언어와 한국어 번역을 한번에 조회
const translations = await prisma.$queryRaw<any[]>`

View File

@@ -5,7 +5,7 @@ services:
backend:
build:
context: ./backend-node
dockerfile: Dockerfile
dockerfile: Dockerfile.win
container_name: pms-backend-win
ports:
- "8080:8080"
@@ -21,16 +21,18 @@ services:
volumes:
- ./backend-node:/app
- /app/node_modules
- /app/dist
networks:
- pms-network
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/health", "||", "exit", "1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
timeout: 15s
retries: 5
start_period: 90s
networks:
pms-network:
driver: bridge
external: false

View File

@@ -11,6 +11,7 @@ services:
- "9771:3000"
environment:
- NEXT_PUBLIC_API_URL=http://localhost:8080/api
- WATCHPACK_POLLING=true
volumes:
- ./frontend:/app
- /app/node_modules
@@ -18,8 +19,14 @@ services:
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: true
external: false

View File

@@ -59,4 +59,5 @@ volumes:
networks:
plm-network:
driver: bridge
driver: bridge
external: false

View File

@@ -1,14 +1,19 @@
@echo off
REM 스크립트가 있는 디렉토리로 이동
cd /d "%~dp0"
echo =====================================
echo PLM 솔루션 - Windows 시작
echo =====================================
echo 기존 컨테이너 정리 중...
docker-compose -f docker-compose.win.yml down 2>nul
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 up --build --force-recreate -d
docker-compose -f docker-compose.win.yml build --no-cache
docker-compose -f docker-compose.win.yml up -d
if %errorlevel% equ 0 (
echo.

View File

@@ -1,6 +1,9 @@
@echo off
chcp 65001 >nul
REM 스크립트가 있는 디렉토리로 이동
cd /d "%~dp0"
echo ============================================
echo PLM 솔루션 - 전체 서비스 시작 (분리형)
echo ============================================
@@ -14,9 +17,13 @@ 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 down -v
docker network create pms-network 2>nul || echo 네트워크가 이미 존재합니다.
docker-compose -f docker-compose.backend.win.yml up -d
echo.
@@ -29,8 +36,8 @@ echo ============================================
echo 2. 프론트엔드 서비스 시작 중...
echo ============================================
REM 프론트엔드 빌드 및 시작
docker-compose -f docker-compose.frontend.win.yml build --no-cache
docker-compose -f docker-compose.frontend.win.yml down -v
docker-compose -f docker-compose.frontend.win.yml up -d
echo.

97
start-windows-simple.bat Normal file
View File

@@ -0,0 +1,97 @@
@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:8080/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

47
test-backend-build.bat Normal file
View File

@@ -0,0 +1,47 @@
@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:8080/health
) else (
echo ❌ 백엔드 시작 실패!
echo 로그를 확인하세요: docker-compose -f docker-compose.backend.win.yml logs
)
) else (
echo ❌ 백엔드 빌드 실패!
echo 위의 오류 메시지를 확인하세요.
)
echo.
pause