Question

J'utilise maven2 et hudson depuis un certain temps pour effectuer mon intégration continue, mais je trouve qu'Eclipse et Maven ne fonctionnent pas bien ensemble. Bien sûr, il existe un plugin, mais il est grognon de réduire le projet maven en un projet qui plaît à éclipse et dont le temps de construction et le test unitaire sont trop longs. J'envisage de revenir à un projet d'éclipse pur sans aucune fourmi ni aucun personnage impliqué. Avec le plugin infinitest et éventuellement l'agent JavaRebel, cela me donnerait un cycle de construction-déploiement-test très rapide. Cependant, j'aimerais quand même avoir des tests automatiques et, ainsi:

Comment utiliser l'intégration continue avec un projet Eclipse?

Existe-t-il un moyen de le faire en ligne de commande?

Existe-t-il un serveur de compilation qui le supporte déjà de manière native?

Était-ce utile?

La solution 2

J'ai réussi à trouver une bonne solution. J'ai simplement eu l'infini (peut être installé à partir du marché Eclipse) pour fonctionner avec maven et eclipse

Dans Eclipse- > Propriétés du projet- > Chemin de génération Java- > Source décochez la case intitulée: "Autoriser la sortie". des dossiers pour les dossiers sources "

Cela permettra à votre projet d’avoir plus d’un chemin de sortie et Eclipse commencera alors à signaler les classes de test comme faisant partie du chemin de classe. Infinitest le trouve maintenant et commence à exécuter des tests!

Je n’ai fait qu’utiliser le plug-in officiel Maven Eclipse et l’ajouter à mon 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>

Autres conseils

Ouais, le plugin Eclipse Maven2 est de la merde pour le moment. Mais je vous suggérerais de vous en tenir à l'utilisation de Maven2, qui présente de nombreux avantages. Elle est donc vraiment équilibrée.

Ce que nous faisons, c’est que nous utilisons Eclipse pour développer et uniquement Maven pour gérer les dépendances. Tout le reste est fait en exécutant " mvn " en ligne de commande. Nous conservons les tests dans leurs propres projets de test d'intégration (...-itest) et disposons d'un serveur d'intégration continue pour la construction en 2 phases, la première génération du code, puis la construction par seconde passe et exécute les projets -itest. (Le premier passage (construction pure) est généralement très rapide et la construction des tests d'intégration (avec l'exécution de tests) prend généralement un certain temps.)

Voici la ligne de commande pour effectuer des tests d’exécution de mvn: mvn -o verify -Ditest

Bien sûr, vous devez définir le profil 'itest' dans votre pom parent: Dis comme ça:

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

J'ai eu un assez bon succès avec Eclipse + Ant avec CruiseControl. Si vous souhaitez une automatisation, vous aurez probablement besoin de plus que de la pure Eclipse.

CruiseControl peut extraire automatiquement une copie de votre projet du contrôle de source, la construire, exécuter des tests, puis mettre à jour une application Web avec les résultats. C'était la dernière fois que je l'ai utilisé, mais c'était il y a longtemps maintenant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top