티스토리 뷰
소프트웨어에 의미있는 버전을 붙이는 것은 중요하다.
우리가 많이 사용하는 것은 그라바타(Gravatars)의 창시자이자 깃헙(GitHub)의 공동창업자인 톰 프레스턴-베르너(Tom Preston-Werner)가 작성한 semantic version이라는 것을 사용했다.
버전을 주.부.수 숫자로 하고:
- 기존 버전과 호환되지 않게 API가 바뀌면 “주(主) 버전”을 올리고,
- 기존 버전과 호환되면서 새로운 기능을 추가할 때는 “부(部) 버전”을 올리고,
- 기존 버전과 호환되면서 버그를 수정한 것이라면 “수(修) 버전”을 올린다.
semantic version 외에 calendar version이라는 것도 있다.
Spring Version은 영어가 모국어가 아닌 사람들이 A,B,C....Z 등 알파벳을 정렬하고 이름을 기억하거나 철자를 틀리거나 하는 등의 문제로
알기 쉬운 CalVer 으로 변경했다.
- YYYY is the full year.
- MINOR is an incremented, 0-based number for each year.
- MICRO is the patch version.
- MODIFIER is an optional modifier such that <COUNT> is an incremented 1-based number:
-
- For milestones, we will use M<COUNT>.
- For release candidates, we will use RC<COUNT>.
- For snapshots, we will use -SNAPSHOT. Note that .BUILD that was present in our previous scheme has been removed.
- For releases, there will be no modifier.
예시
2020.0.0-M1, 2020.0.0-M2
2020.0.0-RC1, 2020.0.0-SNAPSHOT, 2020.0.0, 2020.0.1-SNAPSHOT, 2020.0.1, 2020.1.0-M1, 2020.1.0-M2, 2020.1.0-RC1, 2020.1.0-SNAPSHOT, 2020.1.0
여러 버전 방식들에 대해서 개념을 알고 있으면 버전만 가지고도 어떤 단계인지 쉽게 이해할 수 있다.
참고
https://spring.io/blog/2020/04/30/updates-to-spring-versions
반응형
댓글