2014-04-07 3 views
0

우리는 250 개 이상의 응용 프로그램을 보유하고 있으며 대부분의 응용 프로그램은 일반/공통 (약 30 개) 구성 요소에 따라 다릅니다.Maven/hudson을 사용하여 여러 릴리즈를 처리하는 방법

공통 구성 요소에 변경 사항이있는 경우 Maven을 사용하여 구성 요소의 전부 또는 대부분을 릴리스해야합니다. 이것은 매우 고통스러운 작업입니다.

우리가이를 피할 수있는 방법이 있습니까? 우리는 응용 프로그램의 디자인을 변경해야합니까, 아니면 maven이 이에 대한 솔루션을 제공합니까? 아니면 Hudson에서 솔루션을 사용하여 빌드를 예약 할 수 있습니까?

이 입력은 정말 도움이 될 것입니다.

답변

1

Jenkins에서도 사용할 수있는 Cascade Release Plugin을 살펴볼 수 있습니다.

그러나 것은 당신의 워크 플로우에 대해해야합니다

모든 응용 프로그램은 지금 최신 공통 구성 요소 이 필요합니까? 다음 정규 릴리스에 포함시키는 것으로 충분할 수 있습니까?

그런 식으로 책임을 돌릴 수 있습니다. 따라서 구성 요소가 실제로 릴리스를 수행한다고 가정 해보십시오. 다음 번에 응용 프로그램을 빌드 할 때 (일반 야간 빌드에서 SNAPSHOTs 사용), 빌드 프로세스는 책임 개발자/releasemanager에게 응용 프로그램의 새로운 버전이 있음을 알립니다.

이제 릴리스 관리자는 기능/업데이트가 자신의 응용 프로그램에 필요한지 여부를 결정할 수 있습니다. 당신도 (versions-maven-plugin를 사용하여 야간 빌드가 자동으로 일반에 대한 의존성을 업데이트 할 수

점은 다음과 같습니다.. 내가 자동으로 업데이트하고 때문에 일반적인 업데이트의 적용을 해제에 대해 조언을 stronlgy 것이 사이에 강한 커플 링을 만들 것 원하는 경우 자동으로 업데이트를 수행하고 응용 프로그램 개발자/릴리스 관리자는 언제 릴리스할지 결정할 수 있습니다.

물론 공통적 인 변경이 중요한 경우 즉시 해제해야 할 수도 있습니다.

관련 문제