2014-08-20 3 views
3

현재 우리는 실행하는데 2 시간이 걸리는 수천 개의 테스트를 가진 maven 프로젝트를 가지고 있습니다. 우리는 이들을 병렬로 실행하려고 시도했지만 기능 테스트이기 때문에 각 테스트가 시스템을 특정 방식으로 구성하기 때문에 경쟁 조건 및 임의의 테스트 실패가 발생합니다. 내가하고 싶은 것은 AWS에서 N 개의 서버를 구동 한 다음 maven에서 테스트를 나눠서 각 서버가 순차적으로 테스트를 실행하지만 모든 서버가 병렬로 실행될 것입니다. 그런 다음 결과를 집계합니다. . 이 같은 것을하는 플러그인이 있습니까? Jenkins에서 구현하고자하는 것에 가까운 것을 보았지만 개발자가 Jenkins를 설치하지 않고도 로컬에서 사용할 수 있도록 Maven을 사용하는 것이 좋습니다.Maven을 사용한 분산 빌드?

답변

0

정확히이 모든 작업을 수행하는 플러그인을 모릅니다.하지만 그 작업이 성취 될 수 있다고 생각합니다.

작업을 나눠야 할 때 반복기 플러그인을 사용하고 있습니다. 아래의 예를 참조하십시오 : http://khmarbaise.github.io/iterator-maven-plugin/

실제 업로드 및 실행을 수행하려면 ant 플러그인을 사용하여 프로젝트를 scp 처리 한 다음 sshexec을 실행하는 것이 좋습니다.

<build> 
    ... 
    <plugins> 
    ... 
     <plugin> 
     <artifactId>maven-antrun-plugin</artifactId> 
     <configuration> 
      <tasks> 
      <scp todir="${scp.user}:${scp.password}@${scp.host}:/${scp.dirCopyTo}" trust="true" failonerror="false"> 
       <fileset dir="${bundle.dir}" /> 
      </scp> 
      <sshexec host="${scp.host}" 
       username="${scp.user}" 
       keyfile="${user.home}/.ssh/id_dsa" 
       command="touch somefile"/> 
      </tasks> 
     </configuration> 
     <dependencies> 
      <dependency> 
      <groupId>ant</groupId> 
      <artifactId>ant-jsch</artifactId> 
      <version>1.6.5</version> 
      </dependency> 
      <dependency> 
      <groupId>com.jcraft</groupId> 
      <artifactId>jsch</artifactId> 
      <version>0.1.42</version> 
      </dependency> 
     </dependencies> 
     </plugin> 
... 
관련 문제