2.7 KiB
2.7 KiB
📘 SMART IMS 버전 관리 규정 (Versioning Rules)
SMART IMS 플랫폼의 모든 배포와 업데이트는 아래의 MAJOR.MINOR.PATCH.BUILD 4자리 버전 관리 체계를 엄격히 준수합니다.
1️⃣ MAJOR (첫 번째 자리)
대규모 변경, 하위 호환성 붕괴
- 의미: 시스템의 근간이 바뀌거나 기존 데이터/연동 체계와의 호환성이 파괴될 때 증가합니다.
- 상황: API 구조 전면 개편, 데이터베이스 아키텍처 변경, 통신 프로토콜 교체 등.
- 규칙:
- 절대 자주 올리지 않으며, "제품의 세대 교체" 수준에서만 사용합니다.
- 사용자는 업데이트 전 반드시 호환성 여부를 검토해야 합니다.
- 예시:
1.x.x.x→2.0.0.0
2️⃣ MINOR (두 번째 자리)
기능 추가, 호환성 유지
- 의미: 기존 시스템과 호환성을 유지하면서 새로운 기능이 추가되거나 UI가 대폭 개선될 때 증가합니다.
- 상황: 신규 모듈 추가, 기존 기능 확장, 설정 옵션 대량 추가 등.
- 규칙:
- 기능 단위의 주요 배포 시 사용합니다.
- 고객에게 "업데이트 권장" 수준의 변화를 의미합니다.
- 예시:
1.2.x.x→1.3.0.0
3️⃣ PATCH (세 번째 자리)
버그 수정, 품질 개선
- 의미: 새로운 기능 추가 없이 기존 기능의 버그를 수정하거나 성능을 개선할 때 증가합니다.
- 상황: 보안 패치, 성능 최적화, 로직 오류 수정 등.
- 규칙:
- 기능 추가는 엄격히 금지됩니다.
- 긴급한 오류 수정 및 정기 유지보수 배포에 주로 사용됩니다.
- 예시:
1.2.3.x→1.2.4.0
4️⃣ BUILD / REVISION (네 번째 자리)
빌드 번호 또는 미세 변경
- 의미: 사용자에게 기능적/시각적 변화를 거의 주지 않는 기술적 수정 시 증가합니다.
- 상황:
- 빌드 번호: CI/CD 파이프라인의 빌드 식별자.
- 핫픽스: 오타 수정, 로그 문구 변경, 주석 업데이트 등.
- 규칙:
- 사용자에게 "버전 변경 체감"을 주지 않는 수준의 작업입니다.
- 릴리스 노트(Changelog) 작성을 생략할 수 있습니다.
- 예시:
1.2.3.45(45번째 빌드)
💡 버전 비교 및 업데이트 공지 원칙
- 플랫폼은 원격 저장소의 최신 태그 버전과 현재 설치된 버전의 4자리를 순차적으로 비교합니다.
- 상위 자리수가 더 높을 경우 즉시 시스템 업데이트 안내를 발생시킵니다.
- 모든 버전은
v접두사를 포함하여 관리하나, 비교 시에는 숫자로 정규화하여 처리합니다.