읽기 전, 주의!버전 포맷주 번호부 번호패치 번호상태코드 (optional)알파 버전 (alpha)베타 버전 (beta)배포 버전 후보 (release candidate)배포 버전 (final release)수정카운트 버전 표기 예시 (시나리오)프로젝트 시작내부 테스트베타 테스트배포 버전 검증 배포
읽기 전, 주의!
이해를 좀 더 쉽게 하기위해서, 이 글에서는 릴리즈 번호를 부번호라고 칭하여 표기함
버전 포맷
<주번호>.<부번호>.<패치번호>[-<상태코드><수정카운트>]
주 번호
- Major 업데이트
- 이하 버전 초기화 (
e.g. v1.2.3 -> v2.0.0
)
부 번호
- Minor 업데이트
- 호환되는 신규 기능 추가 등
- 이하 버전 초기화 (
e.g. v1.2.3 → 1.3.0
)
패치 번호
- Patch, 패치
- 버그 수정, 기능 추가 등
- 기능이 대폭 추가 또는 개선되거나 예정된 제거 기능 표시가 포함되는 경우, Patch 대신 Minor 업데이트로 적용할 수 있음
상태코드 (optional)
알파 버전 (alpha)
- 내부 개발 테스트 버전
베타 버전 (beta)
- 개발이 완료된 상태에서, 최종 검사를 위한 버전
배포 버전 후보 (release candidate)
- 베타 버전 보다 한 단계 개선된 버전
- 실제 환경에 배포하여 검수 단계를 거친 후, 선별하여 최종 배포를 진행
배포 버전 (final release)
- 최종 배포 버전
- 릴리즈 태그는 생략하며, 필요에 따라 stable 표기 가능
- stable 표기시에는 stable 브랜치를 생성하는 것을 권장함
수정카운트
- 상태 코드 뒤에 숫자 표기
버전 표기 예시 (시나리오)
프로젝트 시작
- 개발 : v1.0.0
내부 테스트
- 1차 : v1.0.0-alpha
- 2차 : v1.0.0-alpha2
- 3차 : v1.0.0-alpha3
베타 테스트
- 1차 : v1.0.0-beta
- 2차 : v1.0.0-beta2
배포 버전 검증
- 1차 : v1.0.0-rc
- 2차 : v1.0.0-rc2
배포
- 최종 : v1.0.0