2010-04-08 4 views
2

종속성이있는 일련의 NetBeans Java 프로젝트가 있습니다. 종속성 트리의 맨 위에있는 프로젝트를 Hudson에 추가하여 지속적으로 통합했습니다. 종속 프로젝트의 단위 테스트가 Hudson에 의해 실행되지 않는 것을 제외하면 모든 것이 잘 작동합니다. NetBeans가 생성하는 앤트 스크립트에는 "jar"대상을 실행하도록 설정된 종속 프로젝트가 있고 유닛 테스트를 실행하는 대상은 포함되어 있지 않기 때문입니다. 유닛 테스트를 실행하기 위해 허드슨의 각 종속 프로젝트에 개미 빌드 단계를 추가 할 수는 있지만 더 간단한 솔루션이 필요합니다.Hudson CI 프로젝트가 종속 프로젝트의 NetBeans JUnit 테스트를 실행하지 않습니다.

답변

1

내가 말할 수있는 한 간단한 해결책이없는 것처럼 보입니다. 내 솔루션은 종속성을 관리하기 위해 Maven을 사용하는 것입니다. 이 방법은 최소한 종속성을 중복 관리하지 않아도됩니다. NetBeans와 Hudson은 모두 Maven과 잘 통합됩니다.

0

허드슨에서 Ant 스크립트를 호출하여 주 작업과 모든 종속 작업을 별도로 설정했다고 가정합니다. 허드슨은 각 개별 업무 간의 종속성을 알아야합니다. 이것은 "빌드 트리거"-> "다른 프로젝트가 빌드 된 후 빌드"및 "빌드 후 작업"-> "다른 프로젝트 빌드"아래 항목입니다.

각 작업은 JUnit 테스트를 독립적으로 실행하고 JUnit XML 출력을 디렉토리에 생성해야합니다.

모든 작업 (기본 및 종속 된 모든 작업)에서 "빌드 후 작업"-> "JUnit 테스트 결과 보고서 게시"를 설정합니다.

부모 작업에서 "빌드 후 작업"-> "다운 스트림 테스트 결과 집계"를 사용하여 JUnit 출력을 결과로 결합하여 상위 작업에 대해 표시 할 수 있습니다.

주 작업 및 모든 종속 프로젝트에 대한 모든 테스트 결과를 기본 작업에 제공해야합니다.

+0

내 질문에 언급했듯이, 나는 단지 허드슨에게 종속성 트리의 맨 위에 프로젝트를 추가했다. 허드슨에는 의존적 인 일자리가 없습니다. 필자는 허드슨 구성에서 중복 된 프로젝트 종속성 정보를 원하지 않기 때문에이 작업을 원하지 않는다고 명시 적으로 말했습니다. 내 솔루션에 대한 내 대답을 참조하십시오. –

관련 문제