달력

05

« 2012/05 »

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  

'테스트자동화환경/버전관리'에 해당되는 글 1

  1. 2009/12/16 Maven 프로젝트 진행시 버전관리 (2)
먼저 저만의 버전관리 룰(rule)임을 미리 밝혀드립니다. 다음과 같은 환경을 가정하고 진행합니다.

  1. 애자일 방법을 사용하여 개발하며, 반복이 진행될 때마다 기능이 추가된다.
  2. 컴포넌트별 버전을 따로 관리하지 않고 전체 프로젝트 내에서 항상 동일한 버전으로 관리한다. 예를 들어, 변경사항이 없더라도 릴리즈시 버전이 변경된다. 이유는 버전관리의 복잡성을 낮추기 위해서이다.

원래 버전은 다음과 같이 부여됩니다.

5.3.12 beta3(build 813)

여기서 제일 앞 부분 "5"는 Major버전입니다.(주버전) 큰 기능 변경이나 구조 변경 등이 포함 될 경우 수정하게 됩니다. 

두 번째 나오는 "3"은 Minor 버전입니다.(부버전) 작은 기능의 추가, 삭제, 변경 등이 있을 경우 수정하게 됩니다. 

세 번째 나오는 "12"는 patch 레벨입니다. 기존 버전의 버그 수정을 했을 때 변경합니다. 

네 번째 나오는 "beta3"는 상태 문자열입니다. 현재 버전이 판매 버전인지, 테스트 용도인지, 개발 용도인지 나타냅니다. 

마지막으로 빌드번호는 버전과는 별도로 빌드를 진행함에 따라서 번호가 올라가게 됩니다.


보통 maven 프로젝트를 이용하게 되면 다음과 같은 버전 구조를 사용합니다. 

개발버전 : 1.4.2-SNAPSHOT
릴리즈버전 : 1.4.2

이러한 정책으로 버전관리를 하게되고 실제 제품 또는 외부에 배포를 하게 되었을 때 추후 개발이나 유지보수는 다음과 같이 할 수 있습니다. 


아주 간단하면서도 쉽게 개발할 수 있는 모델이라고 생각합니다. 주버전의 경우는 개발 후 회사 정책에 결부되어서 바뀔수도 있는 부분이라고 생각됩니다. 아직 검증되지 않은 것은 svn branch를 통해서 별도의 버전관리가 되는지는 아직 확인해보지 못했습니다. 그게 불가능하다면 다시 버전관리를 생각해봐야겠네요 ㅠㅠ

추가사항 : maven-release-plugin의 goal중에 release:branch가 있었습니다. 이를 이용하면 branch의 별도 버전관리가 가능하겠네요.
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'테스트자동화환경 > 버전관리' 카테고리의 다른 글

Maven 프로젝트 진행시 버전관리  (2) 2009/12/16
Posted by 스쿨쥐