smart_ims/docs/version_control/version manage.md

2.7 KiB
Raw Blame History

📘 SMART IMS 버전 관리 규정 (Versioning Rules)

SMART IMS 플랫폼의 모든 배포와 업데이트는 아래의 MAJOR.MINOR.PATCH.BUILD 4자리 버전 관리 체계를 엄격히 준수합니다.


1 MAJOR (첫 번째 자리)

대규모 변경, 하위 호환성 붕괴

  • 의미: 시스템의 근간이 바뀌거나 기존 데이터/연동 체계와의 호환성이 파괴될 때 증가합니다.
  • 상황: API 구조 전면 개편, 데이터베이스 아키텍처 변경, 통신 프로토콜 교체 등.
  • 규칙:
    • 절대 자주 올리지 않으며, "제품의 세대 교체" 수준에서만 사용합니다.
    • 사용자는 업데이트 전 반드시 호환성 여부를 검토해야 합니다.
  • 예시: 1.x.x.x2.0.0.0

2 MINOR (두 번째 자리)

기능 추가, 호환성 유지

  • 의미: 기존 시스템과 호환성을 유지하면서 새로운 기능이 추가되거나 UI가 대폭 개선될 때 증가합니다.
  • 상황: 신규 모듈 추가, 기존 기능 확장, 설정 옵션 대량 추가 등.
  • 규칙:
    • 기능 단위의 주요 배포 시 사용합니다.
    • 고객에게 "업데이트 권장" 수준의 변화를 의미합니다.
  • 예시: 1.2.x.x1.3.0.0

3 PATCH (세 번째 자리)

버그 수정, 품질 개선

  • 의미: 새로운 기능 추가 없이 기존 기능의 버그를 수정하거나 성능을 개선할 때 증가합니다.
  • 상황: 보안 패치, 성능 최적화, 로직 오류 수정 등.
  • 규칙:
    • 기능 추가는 엄격히 금지됩니다.
    • 긴급한 오류 수정 및 정기 유지보수 배포에 주로 사용됩니다.
  • 예시: 1.2.3.x1.2.4.0

4 BUILD / REVISION (네 번째 자리)

빌드 번호 또는 미세 변경

  • 의미: 사용자에게 기능적/시각적 변화를 거의 주지 않는 기술적 수정 시 증가합니다.
  • 상황:
    • 빌드 번호: CI/CD 파이프라인의 빌드 식별자.
    • 핫픽스: 오타 수정, 로그 문구 변경, 주석 업데이트 등.
  • 규칙:
    • 사용자에게 "버전 변경 체감"을 주지 않는 수준의 작업입니다.
    • 릴리스 노트(Changelog) 작성을 생략할 수 있습니다.
  • 예시: 1.2.3.45 (45번째 빌드)

💡 버전 비교 및 업데이트 공지 원칙

  1. 플랫폼은 원격 저장소의 최신 태그 버전과 현재 설치된 버전의 4자리를 순차적으로 비교합니다.
  2. 상위 자리수가 더 높을 경우 즉시 시스템 업데이트 안내를 발생시킵니다.
  3. 모든 버전은 v 접두사를 포함하여 관리하나, 비교 시에는 숫자로 정규화하여 처리합니다.