문제

우리는 여러 물리적 계층에 대한 구성 요소가있는 애플리케이션을 개발하고 많은 어셈블리를 공유하고 각 계층에만 독점적입니다.

전형적인 버전 설정 전략이 핫픽스 릴리스 또는 애플리케이션의 몇 가지 구성 요소 만 알고 싶습니다.

당사의 문제 추적 소프트웨어에는 전체 제품의 버전 번호가 포함되어 있습니다. 현재 버전이 1.4.5이고 핫픽스가 필요한 경우 핫픽스 문제는 1.4.6에 대해 릴리스됩니다. 1.4.6의 수정에 영향을받는 모든 어셈블리는 1.4.6 버전입니다. 해당 파일 만 배포하면 버전 1.4.5의 일부 파일과 1.4.6의 일부 파일이 있습니다.

솔루션은 전체 애플리케이션을 1.4.6으로 재구성하고 해제하는 것이지만이를 위해서는 여러 컴퓨터의 여러 구성 요소를 재배치해야하며 실제로 변경되지 않은 구성 요소의 불필요한 다운 타임이 필요합니다.

이 문제를 위해 사람들이 어떤 전략을 세웠습니까? 일부 파일이 다른 버전 번호를 가질 것이라는 사실을 받아들이는 것은 단지 문제입니까? 과거에는 이것이 고객 (레벨 1) 지원 팀과 혼동을 일으킨다는 것을 알게되었습니다.

도움이 되었습니까?

해결책

당신은 흥미로운 질문을 제기합니다.

배포 및 버전화 전략이 무엇인지 결정하고 다양한 요인 (이미 언급 한 일부 고객 혼란과 같은 일부)의 트레이드 오프를 고려해야하는 정책 결정입니다.

당신이 할 수있는 일 중 하나는 개별 계층의 릴리스 및 버전을 분리하는 것입니다. 이는 핫픽스 배치 오버 헤드가 줄어든 계층 내에서 일관된 버전을 가질 수 있습니다. 또한 공통 어셈블리를 독립적으로 별도의 패키지와 버전으로 고려해야합니다.

이것은 과잉 일 수 있으므로 대안은 버전을 쉽게 파악할 수 있도록하는 것입니다. 예를 들어, 버전 번호의 일부를 예약하여 핫픽스를 표시 할 수 있습니다. 예를 들어, 1.4.5.0이 공식 릴리스 인 경우 Hotfix는 1.4.5.1이며 이는 1.4.5 공식 릴리스의 일부로 쉽게 이해할 수 있습니다.

다음과 같은 다른 어셈블리 버전을 사용할 수도 있습니다. AssemblyInformationalVersion 사용자를위한 버전 정보를 저장합니다. (체크 아웃 내 블로그 게시물 자세한 내용은 AssemblyInformationalVersion .NET의 어셈블리 버전화.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top