3.4 KiB
3.4 KiB
🏷️ Git 운영 및 통합 업데이트 관리 규칙
이 문서는 Smart IMS 플랫폼의 Git 운영 정책, 태그 작성 규칙, 그리고 운영 서버 수동 업데이트 방법을 설명합니다.
1. 태그 메시지 작성 규칙 (Changelog 자동 생성)
플랫폼의 업데이트 엔진은 태그 메시지의 **머리말(Prefix)**과 **리스트 기호(-, *)**를 분석하여 관리 페이지의 업데이트 히스토리를 생성합니다.
📋 메시지 구조
[TYPE] 업데이트 제목 (한 줄 요약)
- 상세 변경 내용 1
- 상세 변경 내용 2
* 상세 변경 내용 3
🏷️ 업데이트 타입 (TYPE) 정의
| 키워드 | 업데이트 유형 | 시각적 표시 | 비고 |
|---|---|---|---|
[URGENT] |
긴급/보안 | 빨간색 배너 | 최우선 업데이트 권장 |
[HOTFIX] |
긴급 수정 | 빨간색 배너 | 버그 즉시 수정 건 |
[FEATURE] |
기능 추가 | 남색(Indigo) | 새로운 기능 도입 |
[FIX] |
일반 수정 | 회색(Slate) | 일반적인 버그 수정 |
[PATCH] |
패치/보정 | 회색(Slate) | 마이너 품질 개선 |
2. 개발 및 배포 절차 (Local → Remote)
STEP 1: 코드 변경 사항 커밋 및 푸시
git add .
git commit -m "릴리즈 준비: v0.3.5 패치"
git push origin main
STEP 2: 어노테이티드 태그(Annotated Tag) 생성
시스템 엔진이 메시지를 읽으려면 반드시 -a 옵션을 사용해야 합니다.
git tag -a v0.3.5 -m "[PATCH] 시스템 안정화 패치
- 원격 태그 동기화 로직 강화
- API 캐시 방지 타임스탬프 도입"
STEP 3: 원격 저장소에 태그 푸시
git push origin v0.3.5
3. 운영 서버 수동 업데이트 방법 (Manual Update)
웹 UI의 자동 업데이트가 불가능하거나 직접 서버에서 제어해야 할 경우 아래 명령어를 순서대로 실행합니다.
STEP 1: 최신 태그 정보 강제 동기화
로컬 태그 캐시와 원격 저장소의 실제 태그를 일치시킵니다.
git fetch origin +refs/tags/*:refs/tags/* --force --prune --prune-tags
STEP 2: 대상 버전으로 체크아웃
# 모든 변경사항을 무시하고 강제로 특정 태그 버전으로 전환
git checkout -f v0.3.5
STEP 3: 의존성 설치 및 빌드 (Root 경로)
npm install
npm run build
STEP 4: 서버 모듈 의존성 설치 및 재시작 (Server 경로)
cd server
npm install
pm2 reload smartims-api
4. 유용한 Git 명령어 레퍼런스
- 태그 목록 확인:
git tag -l - 최신 태그 정보 확인:
git describe --tags --abbrev=0 - 원격 태그 강제 덮어쓰기 (수정 시):
git tag -a v0.3.5 -f -m "수정된 메시지..." git push origin v0.3.5 -f
💡 주의사항
- 빌드 확인: 운영 서버에서 수동 업데이트 시
npm run build과정에서 에러가 없는지 반드시 확인해야 합니다. - 권한 차이: 수동 업데이트 시 파일 권한 문제가 발생할 수 있으므로 가급적 서비스 실행 계정(예:
sokuree)으로 진행하세요. - No-Cache: 업데이트 후 브라우저에 즉시 반영되지 않으면 서버의
pm2 reload가 정상적으로 수행되었는지 확인하세요.