문서 업데이트: 개발 서버와 운영 서버의 구체적인 작업 경로 명시

This commit is contained in:
choibk 2026-01-24 23:48:31 +09:00
parent c2e0a7804a
commit d0eb280e06

View File

@ -29,11 +29,12 @@
## 2. 개발 및 배포 절차 (개발 PC)
모든 명령어는 프로젝트의 **최상위 루트 폴더**(`smart_ims/`)에서 실행합니다.
개발 작업 및 태그 생성은 아래 경로에서 진행합니다.
* **작업 경로**: `d:\antigravity\smartims` (윈도우 개발 환경 기반)
### STEP 1: 코드 변경 사항 커밋 및 푸시
```powershell
# [위치: 프로젝트 루트]
# [위치: d:\antigravity\smartims (루트)]
git add .
git commit -m "릴리즈 준비: v0.3.5 패치"
git push origin main
@ -41,7 +42,7 @@ git push origin main
### STEP 2: 어노테이티드 태그(Annotated Tag) 생성
```powershell
# [위치: 프로젝트 루트]
# [위치: d:\antigravity\smartims (루트)]
git tag -a v0.3.5 -m "[PATCH] 시스템 안정화 패치
- 원격 태그 동기화 로직 강화
- API 캐시 방지 타임스탬프 도입"
@ -49,36 +50,37 @@ git tag -a v0.3.5 -m "[PATCH] 시스템 안정화 패치
### STEP 3: 원격 저장소에 태그 푸시
```powershell
# [위치: 프로젝트 루트]
# [위치: d:\antigravity\smartims (루트)]
git push origin v0.3.5
```
---
## 3. 운영 서버 수동 업데이트 방법 (Manual Update)
## 3. 운영 서버 수동 업데이트 방법 (Production Server)
웹 UI 업데이트가 실패하거나 서버에서 직접 제어해야 할 경우 사용합니다.
웹 UI 업데이트가 실패하거나 SSH를 통해 직접 서버에서 제어해야 할 경우 사용합니다.
* **서비스 경로**: `/volume1/web/smartims` (리눅스 운영 환경 기반)
### STEP 1: 원격 정보 동기화 및 체크아웃
```powershell
# [위치: 프로젝트 루트]
# 1. 태그 정보 강제 업데이트
```bash
# [위치: /volume1/web/smartims (루트)]
# 1. 태그 정보 강제 업데이트 (원격 저장소와 완벽 동기화)
git fetch origin +refs/tags/*:refs/tags/* --force --prune --prune-tags
# 2. 대상 버전으로 강제 체크아웃
git checkout -f v0.3.5
```
### STEP 2: 프론트엔드 빌드
```powershell
# [위치: 프로젝트 루트]
### STEP 2: 프론트엔드 빌드 및 의존성 업데이트
```bash
# [위치: /volume1/web/smartims (루트)]
npm install
npm run build
```
### STEP 3: 백엔드 반영 및 서비스 재시작
```powershell
# [위치: 서버 폴더 (프로젝트루트/server)]
```bash
# [위치: /volume1/web/smartims/server]
cd server
npm install
pm2 reload smartims-api
@ -88,11 +90,11 @@ pm2 reload smartims-api
## 4. 유용한 Git 명령어 레퍼런스
* **태그 목록 확인**: `git tag -l` (루트 실행)
* **최신 태그 정보 확인**: `git describe --tags --abbrev=0` (루트 실행)
* **원격 태그 강제 덮어쓰기 (수정 시)**:
* **태그 목록 확인**: `git tag -l` (모든 환경의 루트 폴더)
* **최신 태그 정보 확인**: `git describe --tags --abbrev=0`
* **원격 태그 강제 덮어쓰기 (메시지 수정 시)**:
```powershell
# [위치: 프로젝트 루트]
# [위치: 개발 PC 루트]
git tag -a v0.3.5 -f -m "수정된 메시지..."
git push origin v0.3.5 -f
```
@ -100,6 +102,6 @@ pm2 reload smartims-api
---
## 💡 주의사항
1. **실행 위치 확인**: 특히 `pm2` 명령어나 `server` 관련 설정은 반드시 `server` 폴더 내에서 실행하거나 경로를 정확히 지정해야 합니다.
2. **경로 이동**: `cd server`를 통해 폴더를 이동한 후 작업을 마쳤다면, 다시 `cd ..`를 통해 루트로 복귀하는 습관이 중요합니다.
3. **권한**: 운영 서버에서는 가급적 서비스 소유 계정으로 명령어를 실행하세요.
1. **빌드 확인**: 운영 서버에서 수동 업데이트 시 `npm run build` 결과가 `Success`인지 반드시 확인하신 후 서버를 재시작하세요.
2. **경로 이동 주의**: `cd server`를 통해 폴더를 이동하여 작업을 마친 후에는 반드시 `cd ..`를 통해 다시 루트 폴더로 복귀하여 다음 작업에 혼선이 없도록 합니다.
3. **권한 관리**: 운영 서버에서는 반드시 서비스 실행 권한을 가진 계정으로 명령어를 실행해야 `PM2` 프로세스 관리에 문제가 생기지 않습니다.