요약
용어 | 소프트웨어 버전 관리 규칙, 작성기준 2시멘틱 버전 : 메뉴얼 2.0
Semantic versioning
Github 공동창업자 Tom Preston-Werner 가 기존의 현안을 모아 만든 제안입니다.
스펙 문서는 RFC 2119에 의해 규칙을 표기하여 의미적 엄격함을 중요시하고 있습니다.
- 처음 릴리즈 : v1.0.0
- 릴리즈 후 자잘한 오류 수정 : v1.0.1
- 기능 상 추가 및 변경 : v1.1.0
- 자잘한 오류를 15번에 걸쳐 수정 : v1.1.15
- 이전과 호환이 안될 정도로 큰 변화 생김 : v2.0.0
설명
주 번호(개편번호)
- 프로젝트가 하위호환이 되지 않을 때 반드시 올라가야 합니다.
- 증가시 나머지 버전 정보는 초기화됩니다 ex) v2.0.0
- 1로 시작합니다.
릴리즈 번호
Main 브랜치 로 릴리즈 되었을 때 증가됩니다.- 증가 시 패치 정보는 초기화 됩니다. ex) v1.8.0
패치 번호
- 버그 수정, 기능 추가할 때마다 증가합니다.
- Change Log를 작성합니다.
- 애자일의 경우 이터레이션 종료 시점을 기준으로 잡습니다.
상태코드
- alpha : 개발 중
- beta : 베타 서비스 중
- release : 공식 배포 중
- 핫픽스 카운트
beta, release 태그에만 존재합니다.
핫픽스(hotfix) 할 경우 증가합니다. - v1.0-a5 , v1.0-b1, v1.0-r3 와 같이 표현할 수 있습니다.
규칙
소수점이 아닙니다
- 1.9 < 1.10
– 1.09 : 09번째 릴리즈
– 1.10 : 10번재 릴리즈
우선순위는 다음과 같습니다
- 주요 패치 > 작은 패치 > 선행 배포 > 빌드식별자 내 숫자
- 문자와 대시가 포함된 식별자는 ASCII 정렬 순서로 비교합니다.
- 숫자 식별자는 숫자가 아닌 식별자보다 낮은 우선순위를 보유합니다.
더욱 자세한 정보는
더욱 자세한 정보는 메뉴얼 2.0 을 참조해주세요
정보
애자일이란
짧은 주기의 반복 실행을 통해 변화에 적극적으로 대응합니다.
끊임없이 프로토타입을 만들며 필요한 요구를 반영하고 수정합니다.
- 계획 > 분석 > 설계 > 구현 > 시험 > 유지보수 > 계획
이터레이션이란
SW를 사용자에게 제공하고, 피드백을 받아서 고쳐나갑니다.
에자일에서는 이 기간을 이터레이션이라고 합니다.
스프린트란
짧은 거리를 전력 질주한다(Sprint)는 뜻입니다. *참조
단기간 내에 포로토 타입으로 제작한 뒤, 테스트하여 중요한 문제들에 대한 답을 찾아갑니다.
(G메일과 크롬 브라우저가 스프린트를 통해 개발되었습니다.)
브레인스토밍 방식은 여러 사람이 다양한 아이디어를 낼 수 있다는 장점을 가지고 있지만, 아이디어만 있을 뿐 실천하지 못하고 끝나는 회의도 많습니다. 각각의 아이디어가 얼마나 좋은지 그 자리에서 평가하기 어렵고 그중 하나를 채택하기도 어렵습니다
G메일과 크롬 브라우저가 스프린트를 통해 개발되었습니다.
응용
많은 오픈소스 프로젝트가 Semantic Versioning 를 맞추어 표기하고 있습니다.
참조