본문 바로가기

Chapter01/프로젝트01

[ 버전관리 ]

공유 라이브러리 파일로 프로그램의 자체 바이너리 코드로 컴파일 하는 대신 유틸리티를 사용하기 위해 프로그램이 호출해야하는 확장기능 수행. 자신의 코드를 변경하지 않고도 프로그램을 업데이트, 교체할 수 있음

release versioning의 경우 X.Y.Z Rule (Major, Minor, Patch)을 따르고 있음 X (Major): 이전 버전과 호환이 안되는 큰 변화가 있을 경우 Y (Minor): 이전 버전과 호환이 가능한 기능이 추가되었을 경우 Z (Patch): 이전 버전과 호환이 가능하며, Bug 수정등 작은 Patch의 경우

Versioning 기본 룰:

  1. Versioning에 쓰이는 숫자는 음수가 될 수 없으며, 점진적으로 증가하여야 한다. [ 1.9.0 -> 1.10.0 -> 1.11.0 (O) / 1.9.0 -> 1.12.0 (X) ]
  2. 새로운 버전이 Release 되었을 때, 그 버전에 해당하는 내용(Content)은 절대로 수정되어서는 안된다. 조금이라도 변경이 있을 경우 Version을 바꿔서 새로 배포가 진행되어야 한다.
  3. 공식 public 버전 (stable)은 1.0.0 부터 시작이며, 0.y.z는 초기 개발단계이다.
  4. Bug Fix의 경우 Patch(Z)에 해당하는 version이 업데이트 되어야 한다. 여기서 Bug fix란 배포된 기능 중 의도된 대로 작동하지 않는 상태를 수정하는 것을 의미한다.
  5. X, Y Version이 변경되었을 경우, 그 아래 단계에 해당하는 버전들은 반드시 0으로 픽스되어야 한다.
  • X의 경우: [ 1.9.2 -> 2.0.0 (O) / 1.9.2 -> 2.9.2 (X)]
  • Y의 경우: [ 1.1.6 -> 1.2.0 (O) / 1.1.6 -> 1.2.6 (X)]