Semantic Versioning 이란?

Dongjae Park·2024년 3월 27일
0

최근 사내 npm 패키지를 배포하다가 version은 어떤 규칙으로 정해지는지에 대해 궁금증이 떠올랐다.

그래서 버전 관리에 대해서 검색을하다가 우연히 시멘틱 버전이라는 개념을 알게되었다.

Semantic Versioning이란,

버전을 주.부.수 숫자로 하고:

  1. 기존 버전과 호환되지 않게 API가 바뀌면 “주(主) 버전”을 올리고,
  2. 기존 버전과 호환되면서 새로운 기능을 추가할 때는 “부(部) 버전”을 올리고,
  3. 기존 버전과 호환되면서 버그를 수정한 것이라면 “수(修) 버전”을 올린다.
    주.부.수 형식에 정식배포 전 버전이나 빌드 메타데이터를 위한 라벨을 덧붙이는 방법도 있다.

출처: https://semver.org/lang/ko/

위와 같은 아이디어를 가지고 유의미하게 주/부/수 버전을 갱신하는 버전 관리방법이다.
시멘틱 버저닝은 사용자가 해당 패키지가 어떻게 업데이트되어 왔는지를 알 수 있게 해준다.

시멘틱 버전에 대한 자세한 설명은 아래 링크에서 확인할 수 있다.
https://semver.org/lang/ko/

중요한 내용만 요약하자면

  1. 첫 릴리스 버전은 0.1.0 으로 하고, 이후 실 서비스 이전까지의 배포마다 부버전 혹은 수버전을 갱신한다.
  2. 1.0.0은 최소로 실 서비스에 사용되는 버전이 될 것이다.
  3. 특정 버전이 배포되고 나면 해당 버전은 절대 변경되지 않아야 한다.

0개의 댓글