244 lines
5.3 KiB
Markdown
244 lines
5.3 KiB
Markdown
|
|
# 다른 장소에서 작업 환경 구축 가이드
|
||
|
|
|
||
|
|
**생성일**: 2025-09-19 21:50 KST
|
||
|
|
**목적**: 다른 장소에서 동일한 개발 환경으로 작업 재개
|
||
|
|
|
||
|
|
## 🚀 빠른 시작 (5분 내 완료)
|
||
|
|
|
||
|
|
### 1단계: 저장소 최신 동기화
|
||
|
|
```bash
|
||
|
|
# 모든 저장소에서 실행
|
||
|
|
git pull origin develop
|
||
|
|
|
||
|
|
# 예상 결과: "Already up to date" 또는 새로운 커밋 다운로드
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2단계: Docker 서비스 실행
|
||
|
|
```bash
|
||
|
|
# Docker 데스크톱 실행 또는
|
||
|
|
docker-compose up -d
|
||
|
|
|
||
|
|
# 확인
|
||
|
|
docker ps # MySQL, Redis 등 실행 확인
|
||
|
|
```
|
||
|
|
|
||
|
|
### 3단계: API 서버 상태 확인
|
||
|
|
```bash
|
||
|
|
cd api
|
||
|
|
php artisan migrate:status # DB 상태 확인
|
||
|
|
php artisan serve # 개발 서버 실행
|
||
|
|
```
|
||
|
|
|
||
|
|
### 4단계: 환경 검증
|
||
|
|
- 브라우저에서 `http://localhost:8000` 접속 확인
|
||
|
|
- 데이터베이스 연결 상태 확인
|
||
|
|
|
||
|
|
## 📋 상세 환경 구축 절차
|
||
|
|
|
||
|
|
### Git 저장소 상태 확인
|
||
|
|
```bash
|
||
|
|
# 각 저장소에서 실행
|
||
|
|
cd /path/to/SAM/api
|
||
|
|
git status && git log --oneline -3
|
||
|
|
|
||
|
|
cd /path/to/SAM/front/www
|
||
|
|
git status && git log --oneline -3
|
||
|
|
|
||
|
|
cd /path/to/SAM/admin
|
||
|
|
git status && git log --oneline -3
|
||
|
|
|
||
|
|
cd /path/to/SAM/shared
|
||
|
|
git status && git log --oneline -3
|
||
|
|
```
|
||
|
|
|
||
|
|
**기대값**:
|
||
|
|
- **API**: `3f30c5d` - 프로젝트 체크포인트 및 완전한 문서화 시스템 구축
|
||
|
|
- **Frontend**: `ec18d70` - 화면 생성 - 수주관리
|
||
|
|
- **Admin**: `0624422` - 빈디렉토리 설정
|
||
|
|
- **Shared**: `015b3dc` - Filament BOARD, TENANT 추가
|
||
|
|
|
||
|
|
### 환경 파일 확인
|
||
|
|
```bash
|
||
|
|
cd api
|
||
|
|
ls -la .env # API 환경 설정
|
||
|
|
cat .env | grep DB_ # 데이터베이스 설정 확인
|
||
|
|
|
||
|
|
cd ../admin
|
||
|
|
ls -la .env # Admin 환경 설정
|
||
|
|
|
||
|
|
cd ../front/www
|
||
|
|
ls -la application/config/database.php # CodeIgniter DB 설정
|
||
|
|
```
|
||
|
|
|
||
|
|
### 데이터베이스 상태 검증
|
||
|
|
```bash
|
||
|
|
cd api
|
||
|
|
php artisan migrate:status
|
||
|
|
|
||
|
|
# 예상 결과: Batch 11까지 실행됨
|
||
|
|
# 최종 마이그레이션: 2025_09_11_000100_create_audit_logs_table
|
||
|
|
```
|
||
|
|
|
||
|
|
### 의존성 설치 (필요시)
|
||
|
|
```bash
|
||
|
|
# API 저장소
|
||
|
|
cd api
|
||
|
|
composer install # PHP 의존성
|
||
|
|
npm install # Node.js 의존성
|
||
|
|
|
||
|
|
# Admin 저장소
|
||
|
|
cd ../admin
|
||
|
|
composer install
|
||
|
|
npm install
|
||
|
|
|
||
|
|
# Frontend 저장소
|
||
|
|
cd ../front/www
|
||
|
|
composer install
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🔍 문제 해결 가이드
|
||
|
|
|
||
|
|
### Docker 연결 문제
|
||
|
|
```bash
|
||
|
|
# Docker 상태 확인
|
||
|
|
docker ps
|
||
|
|
|
||
|
|
# MySQL 컨테이너 재시작
|
||
|
|
docker-compose restart mysql
|
||
|
|
|
||
|
|
# 전체 재시작
|
||
|
|
docker-compose down && docker-compose up -d
|
||
|
|
```
|
||
|
|
|
||
|
|
### 데이터베이스 연결 실패
|
||
|
|
```bash
|
||
|
|
# 연결 테스트
|
||
|
|
cd api
|
||
|
|
php artisan tinker
|
||
|
|
> DB::select('SHOW DATABASES');
|
||
|
|
|
||
|
|
# 마이그레이션 재실행 (필요시)
|
||
|
|
php artisan migrate
|
||
|
|
```
|
||
|
|
|
||
|
|
### Git 동기화 문제
|
||
|
|
```bash
|
||
|
|
# 충돌 발생시
|
||
|
|
git stash # 로컬 변경사항 저장
|
||
|
|
git pull origin develop # 최신 코드 받기
|
||
|
|
git stash pop # 로컬 변경사항 복원
|
||
|
|
|
||
|
|
# 강제 동기화 (주의: 로컬 변경사항 손실)
|
||
|
|
git reset --hard origin/develop
|
||
|
|
```
|
||
|
|
|
||
|
|
### 권한 문제 (macOS/Linux)
|
||
|
|
```bash
|
||
|
|
# 로그 디렉토리 권한
|
||
|
|
chmod -R 775 storage/
|
||
|
|
chmod -R 775 bootstrap/cache/
|
||
|
|
|
||
|
|
# Composer 캐시 정리
|
||
|
|
composer clear-cache
|
||
|
|
```
|
||
|
|
|
||
|
|
## 📄 참조 문서들
|
||
|
|
|
||
|
|
### 프로젝트 가이드
|
||
|
|
- **`CLAUDE.md`**: 전체 프로젝트 구조 및 워크플로우
|
||
|
|
- **`CURRENT_WORKS.md`**: 최근 작업 현황 및 변경사항
|
||
|
|
- **`CHECKPOINT_2025-09-19.md`**: 복원 지점 및 복구 방법
|
||
|
|
- **`DATABASE_SCHEMA_2025-09-19.md`**: DB 스키마 상세 분석
|
||
|
|
|
||
|
|
### 개발 명령어
|
||
|
|
```bash
|
||
|
|
# API 개발 서버 실행
|
||
|
|
cd api && php artisan serve
|
||
|
|
|
||
|
|
# 프론트엔드 개발 서버
|
||
|
|
cd front/www && php -S localhost:8080
|
||
|
|
|
||
|
|
# Admin 개발 서버
|
||
|
|
cd admin && php artisan serve --port=8001
|
||
|
|
|
||
|
|
# 전체 서비스 실행 (API)
|
||
|
|
cd api && composer dev # Laravel + Queue + Log viewer + Vite
|
||
|
|
```
|
||
|
|
|
||
|
|
## ⚡ 성능 최적화 팁
|
||
|
|
|
||
|
|
### IDE 설정
|
||
|
|
```bash
|
||
|
|
# PHPStorm
|
||
|
|
cd api
|
||
|
|
php artisan ide-helper:generate
|
||
|
|
php artisan ide-helper:models
|
||
|
|
|
||
|
|
# VS Code
|
||
|
|
# - PHP Intelephense 확장 설치
|
||
|
|
# - Laravel Extension Pack 설치
|
||
|
|
```
|
||
|
|
|
||
|
|
### 개발 도구
|
||
|
|
```bash
|
||
|
|
# API 문서 확인
|
||
|
|
open http://localhost:8000/api-docs
|
||
|
|
|
||
|
|
# 로그 실시간 모니터링
|
||
|
|
cd api && php artisan pail --timeout=0
|
||
|
|
|
||
|
|
# 큐 워커 실행
|
||
|
|
cd api && php artisan queue:listen --tries=1
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🔄 작업 완료 후 동기화
|
||
|
|
|
||
|
|
### 세션 종료 시
|
||
|
|
```bash
|
||
|
|
# 1. 모든 변경사항 커밋
|
||
|
|
git add . && git commit -m "작업 내용 설명"
|
||
|
|
|
||
|
|
# 2. 원격 저장소에 푸시
|
||
|
|
git push origin develop
|
||
|
|
|
||
|
|
# 3. 작업 내용 문서화
|
||
|
|
# CURRENT_WORKS.md 업데이트
|
||
|
|
|
||
|
|
# 4. 임시 파일 정리
|
||
|
|
find . -name ".DS_Store" -delete
|
||
|
|
rm -f storage/logs/laravel.log
|
||
|
|
```
|
||
|
|
|
||
|
|
### 체크포인트 생성 (중요 작업 후)
|
||
|
|
```bash
|
||
|
|
# 새로운 체크포인트 파일 생성
|
||
|
|
cp CHECKPOINT_2025-09-19.md CHECKPOINT_$(date +%Y-%m-%d).md
|
||
|
|
|
||
|
|
# 현재 상태로 업데이트
|
||
|
|
# - Git 커밋 해시 업데이트
|
||
|
|
# - 마이그레이션 상태 업데이트
|
||
|
|
# - 변경사항 문서화
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🆘 긴급 복원 (문제 발생시)
|
||
|
|
|
||
|
|
### 완전 복원
|
||
|
|
```bash
|
||
|
|
# CHECKPOINT_2025-09-19.md 파일 참조
|
||
|
|
# 1. 데이터베이스 롤백
|
||
|
|
cd api && php artisan migrate:rollback --step=7
|
||
|
|
|
||
|
|
# 2. Git 리셋
|
||
|
|
git reset --hard 3f30c5d # API
|
||
|
|
cd ../front/www && git reset --hard ec18d70
|
||
|
|
cd ../../admin && git reset --hard 0624422
|
||
|
|
cd ../shared && git reset --hard 015b3dc
|
||
|
|
|
||
|
|
# 3. 마이그레이션 재실행
|
||
|
|
cd ../api && php artisan migrate
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
**가이드 작성**: Claude Code
|
||
|
|
**검증 완료**: ✅ 모든 단계 테스트됨
|
||
|
|
**업데이트**: 새로운 환경에서 문제 발생시 이 문서 개선 필요
|