195 lines
4.1 KiB
Markdown
195 lines
4.1 KiB
Markdown
# 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. **네트워크**: 방화벽, 포트 충돌
|
|
|
|
---
|
|
|
|
**🎉 즐거운 개발 되세요!** |