2014-09-11 2 views
2

보고서를 생성하고 NON 계측 아티팩트를 생성하기 위해 메이븐 클로버 플러그인을 실행하려고합니다. Maven + Clover + Jenkins - 한 명령에서 커버리지 보고서 및 비 계장 아티팩트를 얻는 방법

<plugin> 
      <groupId>com.atlassian.maven.plugins</groupId> 
      <artifactId>maven-clover2-plugin</artifactId> 
      <version>3.1.3</version> 
      <configuration> 
       <generatePdf>true</generatePdf> 
       <generateHtml>true</generateHtml> 
       <licenseLocation>clover.license</licenseLocation> 
       <!-- the contextFilters element has to be specified within the reporting section and will not work if you specify it in the build section. --> 
       <!-- contextFilters>try,static,catch</contextFilters --> 
      </configuration> 
     </plugin> 


MVN 깨끗한 clover2 : 악기 clover2 : 나는 별도의 라이프 사이클에서 실행 클로버 문서의 instument 목표에 따라 위의 실행 및 기본 buildcycle에 영향을 미치지 않을 경우 클로버

를 설치합니다. 그렇지만 문제는 기본 빌드 수명주기 동안 테스트를 건너 뛰고 싶습니다. 다음을 시도했지만 라이프 사이클 테스트를 건너 뛰었습니다.

MVN 깨끗한 clover2 : 악기 clover2 : 위 다음 작동하는 경우 클로버 -DskipTests에게

를 설치 내가 할 수있는 간단한 설정 여러 받는다는 명령에 대해 여러 개의 일자리를 창출 withou 젠킨스에 최대.

답변

2

모든 코드를 단일 암호로 작성하는 것이 좋습니다. 모든 코드를 프로 시저에 넣는 것이 가장 좋은 방법은 아닙니다. 명령을 여러 단계 또는 작업으로 나눠서 왜 서로를 트리거하지 않는 것이 좋습니까? 또한 CI 관점에서 볼 때 다른 종류의 작업은 서로 다른 우선 순위로 빠르게 실패합니다. 나는 그것이 정확히 답이 아님을 이해한다.

+0

IMO는 다른 수명주기에 다른 매개 변수를 제공하는 방법을 제공해야합니다. 예 : mvn 깨끗한 사이트 어디 깨끗한 및 사이트 수명주기에 대한 다른 매개 변수를 전달할 수 있습니다. 또는 플러그인 구성 내에서이 플러그인이 바인드해야하는 라이프 사이클을 구성 할 수 있어야합니다.
또 다른 옵션은 jenkins가 여러 Maven 명령을 지원하고 사용자가 여러 Maven 프로파일을 생성 할 것을 기대하는 것입니다. – nir

+1

수정은 우려의 분리에 대해 어느 정도 동의합니다. 하지만 IMO 젠킨스는 적어도 여러 개의 maven 명령을 지원해야합니다. 유물을 생산하기위한 젠킨스 작업을 만드는 것은 과도한 것처럼 보입니다. 마이크로 서비스를 개발할 때 하나의 프로젝트에 몇 개의 CI 작업이 필요한지 생각해보십시오. 내가 틀렸을지도 모른다. – nir

+0

무료 스타일 유형의 작업이있는 경우 여러 개의 메이븐 명령이 지원됩니다. 메이븐 타입 작업의 경우 'M2 Extra Steps Plugin'플러그인이 있습니다. 그것은 메인 빌드 전과 후에 메이븐 목표를 실행할 수있게하지만 실제 생활에서는 사용하지 않습니다. – volkovs