본문 바로가기

기타

소프트웨어 버전 관리 - Semantic versioning :: DANIDANI

서비스를 릴리즈하거나 업데이트할 때 '버전' 이라는 것을 명시해줍니다.

이러한 소프트웨어 버전 관리의 대표적인 것이 Semantic versioning이고,

major, minor, patch의 형태를 가지고 있습니다.

규칙은 다음과 같습니다.


major.minor.patch

Major

- api의 변경이 있는 경우

- 하위 버전과 호환되지 않을 경우

Minor

- 새로운 기능 추가

- 하위 버전과 호환될 경우

Patch

- 버그 수정, test 코드 수정, document 업데이트 등 기능에 변경 없을 경우

- 사용자가 알아차리지 못할 정도의 작은 변화


Semantic versioning 규칙

  1. 정식 버전 출시 전에 major은 0
  2. Major, Minor, Patch는 각각 자연수이고 절대 앞에 0이 붙어서는 안 된다.
  3. Major, Minor, Patch의 각 번호는 항상 증가해야 한다.
  4. 특정 버전으로 패키지를 배포하고 나면, 그 버전의 내용은 절대 변경하지 말아야 한다. 변경분이 있다면 반드시 새로운 버전으로 배포하도록 한다.
  5. Major 버전이 변경될 때, Minor, Patch 는 0으로 초기화된다.
  6. Minor 버전이 변경될 때, Patch는 0으로 초기화된다.

 

728x90