Frage

Ich habe eine Zeit lang maven2 und hudson benutzen meine kontinuierliche Integration zu tun, aber ich finde, dass Eclipse und Maven nicht gut zusammen spielen. Sicher gibt es ein Plugin, aber es ist verschroben das Maven-Projekt in etwas zerdrücken, die Vorlieben und die Bauzeiten und Unit-Test zu lang verdunkeln. Ich erwäge ohne Ameise zu einem reinen Eclipse-Projekt Zurückschalten und ohne Maven beteiligt. Mit dem Infinitest Plugin und vielleicht auf dem Javarebel Agenten, wäre es mir einen sehr schnellen Build-deploy-Testzyklus. Allerdings würde ich immer noch haben, wie die automatischen und Tests als gut, so:

Wie kann ich die kontinuierliche Integration mit Eclipse-Projekt verwenden?

Gibt es einen Kommandozeilen-Weg, es zu tun?

Sie haben einen Build-Server, der es bereits nativ unterstützt?

War es hilfreich?

Lösung 2

ich es geschafft, eine gute Lösung finden. Ich habe einfach Infinitest (aus dem Eclipse-Marktplatz installiert werden) zu arbeiten, wenn Maven und Eclipse

In Eclipse-> Projekt Eigenschaften-> Java Build-Weg-> Quelle entfernen Sie das Häkchen genannt: „Erlauben Ausgang Ordner für Quellordner "

Das ermöglicht Ihr Projekt mehr als einen Ausgangspfad zu haben und Eclipse starten dann die Testklassen Berichterstattung als Teil des Klassenpfades zu sein. Infinitest jetzt findet es und startet Tests laufen!

Alles, was ich war die offizielle Maven Eclipse-Plugin verwenden tat und fügen diese zu meinem 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>

Andere Tipps

Ja, Eclipse-Plugin Maven2 ist jetzt Mist. Aber ich würde vorschlagen, für Sie da zu hängen, gibt es eine Menge von Nutzen für die Verwendung Maven2, so gleicht sie tatsächlich aus.

Was wir tun, ist, dass wir mit Eclipse entwickeln und nur Maven Abhängigkeiten zu verwalten. Alles andere wird durch das Ausführen „mvn“ auf Kommandozeile. Wir halten Tests im eigenen Integration von Testprojekten (...- iTest) und haben Server kontinuierliche Integration in 2 Phasen bauen, zunächst den eigentlichen Code bauen und zweiten Durchgang zu bauen und führt die -itest Projekte. (Erster Durchgang (reine Build) in der Regel sehr schnell, und die Integrationstests bauen (mit dem Laufen von Tests) in der Regel dauert eine ganze Weile.)

Hier Befehlszeile mvn Lauf-Tests zu machen: mvn -o verify -Ditest

Natürlich müssen Sie ‚iTest‘ Profil in Ihrer Mutter pom definieren: Sag mal, wie folgt aus:

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

Ich habe Messeerfolg mit Eclipse + Ant mit CruiseControl- hat. Wenn Sie Automatisierung wollen, sind Sie wahrscheinlich mehr benötigen, als nur reine Eklipse.

CruiseControl- kann automatisch eine Kopie des Projekts aus der Quellcodeverwaltung überprüfen, bauen sie, laufen Tests, und dann mit den Ergebnissen einer Web-Anwendung aktualisieren. Es war ziemlich glatt letzte habe ich es, aber das war vor langer Zeit jetzt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top