ERP-node/README-WINDOWS.md

195 lines
4.1 KiB
Markdown
Raw Permalink Normal View History

2025-08-21 09:41:46 +09:00
# PLM 윈도우 개발환경 가이드
## 🚀 빠른 시작
### 1. 전체 환경 시작
```cmd
start-windows.bat
```
### 2. 환경 중지
```cmd
stop-windows.bat
```
### 3. 빌드만 실행
```cmd
build-windows.bat
```
## 📋 사전 요구사항
### 필수 소프트웨어
- **Docker Desktop for Windows** (WSL2 백엔드 사용)
- **Java Development Kit (JDK) 7 이상**
- **Git for Windows**
### Docker Desktop 설정
1. Docker Desktop 설치
2. **Settings > General**에서 "Use WSL 2 based engine" 체크
3. **Settings > Resources > WSL Integration**에서 WSL 배포판 활성화
## 📁 파일 구조
```
new_ph/
├── start-windows.bat # 🎯 메인 시작 스크립트
├── stop-windows.bat # ⏹️ 중지 스크립트
├── build-windows.bat # 🔨 Java 빌드 스크립트
├── docker-compose.win.yml # 🐳 윈도우용 Docker Compose
├── Dockerfile.win # 🐳 윈도우용 Dockerfile
├── config.windows.env # ⚙️ 환경 변수 설정
└── README-WINDOWS.md # 📖 이 파일
```
## ⚙️ 환경 설정
### config.windows.env 파일 수정
```env
# 데이터베이스 설정
DB_PASSWORD=your_password_here
# 포트 설정 (충돌 시 변경)
TOMCAT_PORT=9090
# 메모리 설정
TOMCAT_MEMORY_MIN=512m
TOMCAT_MEMORY_MAX=1024m
```
## 🐳 Docker 서비스
### 애플리케이션 서비스
- **컨테이너명**: plm-windows
- **포트**: 9090 → 8080
- **접속 URL**: http://localhost:9090
### 데이터베이스 서비스
- **컨테이너명**: plm-postgres-win
- **포트**: 5432 → 5432
- **데이터베이스**: plm
- **사용자**: postgres
- **패스워드**: ph0909!!
## 🔧 주요 명령어
### Docker 관리
```cmd
# 컨테이너 상태 확인
docker-compose -f docker-compose.win.yml ps
# 로그 확인
docker-compose -f docker-compose.win.yml logs -f
# 특정 서비스 로그
docker-compose -f docker-compose.win.yml logs -f plm-app
docker-compose -f docker-compose.win.yml logs -f plm-db
# 컨테이너 재시작
docker-compose -f docker-compose.win.yml restart plm-app
```
### 개발 작업
```cmd
# 빌드만 실행
build-windows.bat
# 컨테이너 재빌드
docker-compose -f docker-compose.win.yml up --build -d
# 데이터베이스 리셋
docker-compose -f docker-compose.win.yml down -v
docker-compose -f docker-compose.win.yml up -d
```
## 🐛 문제 해결
### Docker Desktop 실행 안됨
```cmd
# Windows 서비스 확인
sc query com.docker.service
# WSL2 상태 확인
wsl --status
# Docker Desktop 재시작
taskkill /f /im "Docker Desktop.exe"
start "" "C:\Program Files\Docker\Docker\Docker Desktop.exe"
```
### Java 컴파일 오류
```cmd
# Java 버전 확인
java -version
javac -version
# 클래스패스 문제 시 수동 빌드
javac -cp "WebContent\WEB-INF\lib\*" -d WebContent\WEB-INF\classes src\com\pms\**\*.java
```
### 포트 충돌
```cmd
# 포트 사용 확인
netstat -ano | findstr :9090
# 프로세스 종료
taskkill /PID <PID번호> /F
```
### 볼륨 권한 문제
```cmd
# Docker 볼륨 정리
docker volume prune -f
# WSL2 재시작
wsl --shutdown
```
## 📊 모니터링
### 리소스 사용량
```cmd
# Docker 시스템 정보
docker system df
# 컨테이너 리소스 사용량
docker stats
# 로그 크기 확인
dir logs /s
```
### 헬스체크
```cmd
# 애플리케이션 상태
curl http://localhost:9090
# 데이터베이스 연결 테스트
docker exec plm-postgres-win psql -U postgres -d plm -c "SELECT version();"
```
## 🔄 업데이트
### 코드 변경 후
1. `build-windows.bat` 실행
2. `docker-compose -f docker-compose.win.yml restart plm-app`
### Docker 이미지 업데이트
```cmd
docker-compose -f docker-compose.win.yml down
docker-compose -f docker-compose.win.yml pull
docker-compose -f docker-compose.win.yml up --build -d
```
## 📞 지원
문제가 발생하면 다음을 확인하세요:
1. **로그 파일**: `logs/` 디렉토리
2. **Docker 로그**: `docker-compose -f docker-compose.win.yml logs`
3. **시스템 요구사항**: Docker Desktop, WSL2, Java JDK
4. **네트워크**: 방화벽, 포트 충돌
---
**🎉 즐거운 개발 되세요!**