Pergunta

Eu tenho usado maven2 e hudson por um tempo para fazer a minha integração contínua, mas acho que o Eclipse e Maven não jogar bem juntos. Claro que há um plugin, mas é irritadiço para esmagar o projeto maven em algo que eclipse gosta e os tempos de construção e teste de unidade são muito longos. Estou pensando em voltar a mudança para um projeto eclipse pura sem formiga e sem maven envolvidos. Com o plugin infinitest e possível o agente JavaRebel, ele me daria um ciclo de acumulação de implantar-teste muito rápido. No entanto, eu ainda gostaria de ter automática e testar também, assim:

Como faço para usar a integração contínua com um projeto Eclipse?

Existe uma linha de caminho de comando para fazê-lo?

Existe um servidor de compilação que já suporta nativamente?

Foi útil?

Solução 2

Eu consegui encontrar uma solução boa. Eu simplesmente tenho infinitest (pode ser instalado a partir do mercado de Eclipse) para o trabalho quando usando Maven e eclipse

Em eclipse> Project Propriedades-> Construção Java Path-> Fonte desmarque a caixa chamada: "Permitir saída pastas para pastas de origem "

Isso permitirá que o seu projeto para ter mais de um caminho de saída e Eclipse, então, começar a relatar os testes-classes como sendo parte do caminho de classe. Infinitest agora encontra-lo e inicia testes de corrida!

Tudo o que fiz foi o uso do Maven Eclipse oficial plugin e adicionar este à minha 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>

Outras dicas

Sim, Eclipse Maven2 plug-in é uma porcaria, por agora. Mas eu sugiro para você pendurar lá, há um monte de benefício de usar Maven2, para que ele realmente equilibra.

O que fazemos, é que nós usamos o Eclipse para desenvolver e só usar Maven para gerenciar dependências. Tudo o resto é feito executando "mvn" na linha de comando. Nós manter os testes em seus próprios projetos de teste de integração (...- ITest) e ter servidor de integração contínua para fazer construção em 2 fases, primeiro criar o código real e, segundo construção passe e executa os projetos -itest. (Primeira passagem (construção pura) normalmente é muito rápido, ea construção testes de integração (com a execução de testes) geralmente leva muito tempo.)

Aqui está linha de comando para fazer executar testes MVn: mvn -o verify -Ditest

Claro que você precisa para definir 'ITest o perfil em sua pom pai: Dizer, como este:

<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>

Eu tive sucesso justo usando Eclipse + Formiga com CruiseControl. Se você quiser automação, você provavelmente vai precisar de mais do que apenas pura Eclipse.

CruiseControl pode verificar automaticamente uma cópia de seu projeto de controle de origem, construir, executar testes e, em seguida, atualizar uma aplicação web com os resultados. Foi muito escorregadio última vez que eu usei, mas isso foi há muito tempo atrás agora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top