首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Eclipse项目中使用持续集成?

如何在Eclipse项目中使用持续集成?
EN

Stack Overflow用户
提问于 2008-10-02 07:37:10
回答 3查看 5.3K关注 0票数 5

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

如何在Eclipse项目中使用持续集成?

有没有一种命令行的方式呢?

有没有已经在本地支持它的构建服务器?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-10-23 13:32:54

我设法找到了一个好的解决方案。在使用maven和Eclipse时,我简单地使用了infinitest (可以从eclipse marketplace安装)。

在Eclipse->Project Properties->Java Build Path->Source中,取消选中名为"Allow output folders for source folders“的复选框

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

我所做的就是使用官方的Maven Eclipse插件并将其添加到我的POM中

代码语言:javascript
复制
<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>
票数 2
EN

Stack Overflow用户

发布于 2008-10-02 09:18:26

是的,Eclipse Maven2插件目前还是个垃圾。但我建议你坚持住,使用Maven2有很多好处,所以它实际上是平衡的。

我们所做的是,我们使用Eclipse进行开发,并且只使用Maven管理依赖项。其他所有工作都是通过在命令行上运行"mvn“来完成的。我们将测试放在他们自己的集成测试项目中(... -itest ),并让持续集成服务器分两个阶段进行构建,第一阶段构建实际代码,第二阶段构建并运行-itest项目。(第一次通过(纯构建)通常非常快,而集成测试构建(运行测试)通常需要相当长的时间。)

下面是让mvn运行测试的命令行:mvn -o verify -Ditest

当然,你需要在你的父pom中定义'itest‘配置文件:比如,如下所示:

代码语言:javascript
复制
<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>
票数 4
EN

Stack Overflow用户

发布于 2008-10-08 20:21:06

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/161222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档