如何使用与Eclipse项目的持续集成?

如何使用与Eclipse项目的持续集成?,eclipse,continuous-integration,build-automation,infinitest,javarebel,Eclipse,Continuous Integration,Build Automation,Infinitest,Javarebel,我已经使用maven2和hudson进行了一段时间的持续集成,但我发现Eclipse和Maven不能很好地配合使用。当然有一个插件,但是将maven项目混入eclipse喜欢的东西是很古怪的,而且构建时间和单元测试太长。 我正在考虑切换回一个没有ant和maven参与的纯eclipse项目。有了infinitest插件和JavaRebel代理,我将有一个非常快速的构建-部署测试周期。但是,我仍然希望有自动和测试,因此: 如何使用与Eclipse项目的持续集成 有没有一种命令行方法可以做到这一点

我已经使用maven2和hudson进行了一段时间的持续集成,但我发现Eclipse和Maven不能很好地配合使用。当然有一个插件,但是将maven项目混入eclipse喜欢的东西是很古怪的,而且构建时间和单元测试太长。 我正在考虑切换回一个没有ant和maven参与的纯eclipse项目。有了infinitest插件和JavaRebel代理,我将有一个非常快速的构建-部署测试周期。但是,我仍然希望有自动和测试,因此:

如何使用与Eclipse项目的持续集成

有没有一种命令行方法可以做到这一点


是否有一个构建服务器已经在本地支持它?

是的,EclipseMaven2插件现在是垃圾。但是我建议你坚持下去,使用Maven2有很多好处,所以它实际上是平衡的

我们所做的是使用Eclipse进行开发,而只使用Maven来管理依赖关系。其他一切都是通过在命令行上运行“mvn”来完成的。我们在自己的集成测试项目(…-itest)中保留测试,并让continuous integration server分两个阶段进行构建,第一阶段构建实际代码,第二阶段构建并运行-itest项目。(第一次通过(纯构建)通常非常快,集成测试构建(运行测试)通常需要相当长的时间。)

下面是使mvn运行测试的命令行:
mvn-o验证-dTest

当然,您需要在父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>

集成测试
itest
org.apache.maven.plugins
maven surefire插件
itest
总工程师/总工程师
目标/类别
一旦

我在使用Eclipse+Ant和CruiseControl时取得了相当的成功。如果您想要自动化,您可能需要的不仅仅是纯Eclipse


CruiseControl可以自动从源代码管理中签出项目的副本,构建它,运行测试,然后用结果更新web应用程序。上次我用它时,它相当光滑,但那是很久以前的事了。

我设法找到了一个好的解决方案。在使用maven和Eclipse时,我只需使用infinitest(可以从Eclipse市场安装)即可工作

在Eclipse->Project Properties->Java构建路径->Source中,取消选中名为“允许输出”的框 “源文件夹的文件夹”

这将使您的项目具有多个输出路径,然后Eclipse将开始报告测试类作为类路径的一部分。Infinitest现在找到它并开始运行测试

我所做的就是使用官方的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>

朱尼特
朱尼特
4.5
无限组织
无限的
测试
4

有趣的想法,我没有想到要把它分成两个项目。我通常是maven的忠实粉丝,但我注意到构建/测试周期有点长。我想这个想法可以使事情加快一点。