문제

나는 Maven2와 Hudson을 한동안 사용하여 지속적인 통합을 수행했지만 Eclipse와 Maven이 함께 잘 작동하지 않는다는 것을 알게되었습니다. 플러그인이 있지만 Maven 프로젝트를 Eclipse가 좋아하는 것으로 으깨는 것은 크랭크입니다. 빌드 시간과 단위 테스트가 너무 길다. 나는 개미가없고 maven이없는 순수한 일식 프로젝트로 다시 전환하는 것을 고려하고 있습니다. 가장 무한한 플러그인과 가능한 Javarebel 에이전트를 사용하면 매우 빠른 빌드 배치 테스트주기를 제공합니다. 그러나 여전히 자동 및 테스트를 원합니다.

Eclipse 프로젝트와 지속적인 통합을 어떻게 사용합니까?

명령 줄 방법이 있습니까?

이미 기본적으로 지원하는 빌드 서버가 있습니까?

도움이 되었습니까?

해결책 2

좋은 솔루션을 찾았습니다. Maven 및 Eclipse를 사용할 때 작동하기 위해 단순히 무한대 (Eclipse Marketplace에서 설치할 수 있음)를 얻었습니다.

Eclipse-> Project Properties-> Java Build Path-> 소스 "소스 폴더에 대한 출력 폴더 허용"

이를 통해 프로젝트가 하나 이상의 출력 경로를 가질 수있게되며 Eclipse는 테스트 클래스를 클래스 경로의 일부로보고하기 시작합니다. 무한대는 이제 그것을 찾아 테스트를 시작합니다!

내가 한 것은 공식 Maven Eclipse 플러그인을 사용하고 이것을 내 pom에 추가하는 것뿐입니다.

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.5</version>
        <!-- <scope>provided</scope> -->
    </dependency>

    <dependency>
        <groupId>org.infinitest</groupId>
        <artifactId>infinitest</artifactId>
        <scope>test</scope>
        <version>4.0</version>
    </dependency>

</dependencies>

다른 팁

예, Eclipse Maven2 플러그인은 지금 쓰레기입니다. 그러나 나는 당신이 거기에 매달릴 것을 제안합니다. maven2를 사용하는 데 많은 이점이 있으므로 실제로 균형을 이룹니다.

우리가하는 일은 Eclipse를 사용하여 Maven 만 사용하여 종속성을 관리한다는 것입니다. 다른 모든 것은 명령 줄에서 "MVN"을 실행하여 수행됩니다. 우리는 자체 통합 테스트 프로젝트 (...- ITEST)에서 테스트를 유지하고 2 단계로 빌드하고, 먼저 실제 코드를 구축하며, 두 번째 패스 빌드 및 최신 프로젝트를 실행할 연속 통합 서버를 보유하고 있습니다. (첫 번째 패스 (Pure Build)는 일반적으로 매우 빠르며 통합 테스트는 (테스트 실행과 함께) 일반적으로 꽤 시간이 걸립니다.)

MVN 실행 테스트를위한 명령 줄은 다음과 같습니다.mvn -o verify -Ditest

물론 부모 POM에서 'Itest'프로필을 정의해야합니다.

<profiles>
  <profile>
    <id>integration-test</id>
    <activation>
      <property>
        <name>itest</name>
      </property>
    </activation>
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <executions>
            <execution>
              <id>itest</id>
            </execution>
          </executions>
          <configuration>
            <testSourceDirectory>src/main</testSourceDirectory>
            <testClassesDirectory>target/classes</testClassesDirectory>
            <forkMode>once</forkMode>
          </configuration>
        </plugin>
      </plugins>
    </build>
  </profile>
</profiles>

Cruisecontrol과 함께 Eclipse + Ant를 사용하여 공정한 성공을 거두었습니다. 자동화를 원한다면 아마도 순수한 일식 이상이 필요할 것입니다.

CruiseControl은 Source Control에서 프로젝트 사본을 자동으로 확인하고 빌드하고 테스트를 실행 한 다음 결과로 웹 응용 프로그램을 업데이트 할 수 있습니다. 나는 그것을 사용했지만 마지막으로 꽤 매끄 럽습니다. 그러나 그것은 오래 전이었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top