일반적으로 버전은 다음과 같이 정의 또는 규약한다.

버전은 이전의 산출물을 확장하여 이후 새로운 산출물을 만들기 위하여 숫자로 구분한다.

버전의 규칙

기본 : {Major} . {Minor} . {Patch}

확장 : {Major} . {Minor} . {Patch} . {Build Number}

버전의 의미

Major

  • 소프트웨어가 대폭적 변경이 발생한 경우.
  • 하위버전과 호환되지 않음. 
  • API, F/W 변경 및 상단한 변화가 있는 경우 증가함.

Minor

  • 소프트웨어가 작은 기능 개선 및 변경이 발생한 경우.
  • 하위버전과 호환됨. 
  • 기존 어떠한 기능도 중단시키지 않는 새로운 기능이 추가될때 증가함. (기능추가, 컨포넌트추가, 클래스추가, 함수추가등) 

Patch

  • 기능안에서 잔 버그들을 수정하거나 기능의 내부구조를 수정할 경우.
  • 하위버전과 호환됨. 
  • 기타 버그를 수정할때 증가함.

Build Number

  • 소프트웨어를 실제로 프로그램화 하는 과정.
  • 하위버전과 호환됨.
  • Patch 버전이 동일하며 추가 빌드가 발생되었을 경우 생성되거나, 증가함.
  • 소프트웨어 개발 및 특별한 경우를 제외하고 자주 사용 되지 않음.


예시 )

  • 1.0.0 : 버전1, 릴리즈가 되고 버그 수정 등이 한번도 되지 않는 최초 버전.
  • 1.0.3 : 버전1, 릴리즈가 되고 버그 수정 등이 3번 발생.
  • 1.1.0 : 버전1, 새로운 기능 1번 추가, 1.0.*, 1.1.*, 1.2.* 버전을 사용하던 프로젝트 호환 가능.
  • 2.1.8 : 버전1 과 호환이 안되며, 새롭게 릴리즈가 되고 버그수정이 8번 발생, 2.0.* 과 호환이 가능.



  • No labels
Write a comment…