버전정보를 잘.... 지키는 곳에서 업무를 해본적이 없어서 검색해서 찾은 정보들을 정리해보았다.

 

버전의 정의

효율적으로 상품을 관리하기 위한 목적

소프트웨어, 하드웨어 상품의 개발 단계 또는 순서를 번호로 표시한 것

버전에 따라 내용과 기능에 차이가 있으므로 명확히 표시

 

버전 표기의 이유 ?

버전만으로 핫픽스된 이슈, 스펙의 구현을 볼 수 있어서 대략적인 프로젝트의 히스토리를 확인할 수 있다.

또한 로그 정리에 도움이 된다.

 

*핫픽스(Hotfix)란?

제품 사용 중에 발생하는 버그의 수정이나 취약점 보완, 또는 성능 향상을 위해 긴급히 배포되는 응급 패치 프로그램.

 

*로그(log)란?

로그파일은 운영 체제나 소프트웨어가 실행 중 발생하는 이벤트등의 메세지를 기록한 파일이다.

 

라이브러리 예시

jQuery.js

2.1.1.-beta1

<주번호>,<부번호>,<패치번호>[-<상태 코드(beta, release 등..)><수정 넘버>]

 

*패치(patch)란?

기능을 보완하거나 기능을 더하기 위해 일부분을 수정하는 것.

 

 

가이드라인

v1.1.0-release1

v<개편번호>,<릴리즈번호>,<패치번호>-<상태코드><핫픽스카운트>

v<Major Version>,<Minor Version>,<Build or MainTenance Version>

 

*릴리즈(release)란?

마지막 제품이 될 가능성이 있는 베타 버전, 상당한 버그가 나타나지 않으면 출시할 준비가 되었음을 의미한다.

 

간단하게 정의하면?

<전체를 뒤엎을 변화>,<기능 수정, 기능 추가>,<버그, 내부 적 코드 보완>

 

상세 정의

개편번호

1로 시작함

주번호

프로젝트 개편 시 증가

증가 시 나머지 버전 정보는 초기화

 

릴리즈번호

공식적(master branch)으로 릴리즈 되었을 때 증가

증가 시 패치 정보 초기화

 

패치 번호

이터레이션 종료시마다 증가

버그 수정, 기능 추가에 대한 Change Log 작성

 

*이터레이션(iteration)이란?

애자일은 짧은 기간동안 동작하는 SW를 사용자에게 제공하면서 피드백을 받아서 고쳐나가는데, 이 짧은 기간을 이터레이션이라고 한다.

(= 스크럼 개발 방법론에서는 스프린트(Spring)라고 한다.)

 

상태코드

alpha - 개발중인 태그에 표기

beta - 베타중인 태그에 표기

release - 공식 배포 버전에 표기

 

핫픽스 카운트

beta, release 태그에만 존재

hotfix이슈 반영했을 경우 증가

 

오해

1.버전을 소수점으로 인식하면 안된다.

  • 1.9 < 1.10

    • 1.9는 9번째 릴리즈, 1.10은 10번째 릴리즈 버전을 뜻함.

    • 01.01.10은 곧 1.1.10이라는 의미.

 

프로젝트에 적용 예시

 

수정이 진행되는 부분 빨간 글씨

 

그 전에는 중요하게 생각안했는데, 버전 정보는 엄청나구나를 알게되었다..  

다만 실제로 적용하고 적응하기까지는 신경써야할 것 같다는 생각이 든다.

 

 

+ Recent posts