Skip to content

버전 관리와 버전 컨벤션

이원석 edited this page Jan 26, 2024 · 9 revisions

버전은 왜 필요한가?

이전에 에러를 고치면서 배경 파악과 원인 추적에 애를 먹었던 적이 있습니다.(강의 데이터 적재 오류 #63, 유저 탈퇴 오류#57) 비즈니스 로직이 문서화가 되어있지 않거나 이해하기 어려운 경우에는 단순히 코드만 보고 고치기는 어렵기 때문입니다.

또한 급한 롤백이 필요할 경우 이전 버전을 빠르게 찾을 수 있다는 것도 장점입니다.

main 브랜치에 대한 모든 변경 이력에 대해 버전을 적용해보려고 합니다. 여기서 변경 이력에는 큼직한 변경도 있지만 hotfix나 아주 사소한 변경도 포함됩니다.

Version 컨벤션

version_rule

모든 버전은 1.0.0에서 시작합니다. Major.Minor.Patches 형식입니다.

  • 기존 버전과 호환되지 않는 API 변경 사항 : Major Version를 올립니다.
  • 기존 버전과 호환되면서 새로운 기능을 추가 : Minor Version를 올립니다.
  • 자잘한 버그나 내부적 코드 보완 등의 변화가 발생 : Patches를 올립니다.

참고 : https://blog.naver.com/dilrong/221475400415 https://semver.org/ https://github.com/Team-ComIT/SimTong-Backend/blob/main/README.md

지금까지의 버전은 어떻게?

수위키 초기 배포 = 1.0.0
강의 적재 로직 추가 (#18) = 1.1.0
시간표 API 추가 및 앱 업데이트 API 추가 = 1.2.0

릴리즈 후 태그 붙이기

https://mini-min-dev.tistory.com/105