다중 상호 의존 모듈을 가진 Maven 프로젝트를 생각해 봅시다 : war 모듈 Z에 대한 종속성 인 3 개의 jar 모듈 A, B 및 C를 가정 해 봅시다. 이러한 모듈 각각에 대해 별도의 허드슨 빌드가 필요하므로 변경된 모듈 만 다시 빌드됩니다.Hudson에게 하나의 커밋으로 변경된 여러 모듈을 올바르게 빌드하는 방법
내 문제는 모듈 A와 모듈 Z를 모두 변경하는 변경 집합을 커밋하면 A가 완료되기 전에 Z가 빌드되고 완료된 후 A가 완료되고 이제 전달되는 Z의 다시 작성을 트리거한다는 것입니다. "실제"오류보다는 빌드 순서와 관련하여 빌드가 정기적으로 실패하도록 허용하면 실제 오류가 발생하지 않게됩니다. 우리는 그것이 결국 뒤집을 것이라고 가정하는 데 익숙해 져 있기 때문에 합법적으로 부러진 빌드를 무시하게됩니다.
저는 조용한 기간을 사용하여 업스트림 빌드가 실행될 때 차단하는 등의 작업을 관리했습니다.하지만 실제로는 빌드에 많은 시간이 걸리는 예제보다 빌드가 더 많습니다. 테스트. 나는 또한 빈번한 커밋을하는 근면 한 개발자들의 작은 무리가있다.
이것은 나의 jar 모듈이 계속해서 빌드되고 있음을 의미하며, war 모듈을 빌드 할 때 틈새를 거의 남기지 않습니다. 그래서 전쟁은 자주 일어나지 않습니다. 즉, 전쟁이 언제 깨 졌는지 알아내는 데 오랜 시간이 걸리며, 어떤 변화가 그것을 어겼는지 확인하는 데 더 오래 걸립니다.
또한 빌드의 지속적인 실행은 jar A와 B에 접촉하는 변경 사항을 커밋하면 war 파일 Z가 jar A (빠르게 빌드 됨)에 대해 한 번 빌드 된 다음 jar B 시간이 오래 걸린다. 이것은 주어진 커밋의 결과를 이해하기 어렵게 만든다.
나는 조인 플러그인을 사용하는 것을 고려해 봤지만, 모든 모듈을 매번 빌드해야하는 것처럼 보입니다. 실제로는 꽤 많은 jar 모듈을 가지고 있기 때문에 항상 모든 것을 빌드해야하는 것은 아니기 때문에 주어진 커밋에 맞게 변경된 모듈 만 빌드하려고합니다.
더 좋은 방법이 있습니까?
감사
재미있는 질문입니다. 그러나 해결하기 어려울 것입니다. – Spedge