【问题标题】:Keep correctness of Eclipse workspace with continuous integration通过持续集成保持 Eclipse 工作区的正确性
【发布时间】:2010-01-21 09:31:59
【问题描述】:

IDE 配置错误是我们团队时间利用效率低下的一大原因。 我想知道其他团队是否尝试通过持续集成检查 eclipse 工作区的健康状况。 Eclipse 是开源且可扩展的,并且它的大部分(全部?)文件都在 xml 中。所以在持续集成中添加一个检查工作区健康状况的步骤应该不难,比如没有丢失的 Jar 文件、没有错误等。

我们有一个单独的 ant 脚本来执行真正的构建,然后交给 QA 和客户。这个 ant 脚本是通过持续集成运行的,我们已经进行了一些简单的检查,可以捕捉到大多数大的阻碍。

工作区配置是另一回事,我们有时会在为时已晚(开发人员离开家)时发现问题。

编辑:请注意,我们共享我们的 Eclipse 配置文件。

【问题讨论】:

  • 顺便说一句,您对“持续集成”的理解是什么?
  • 您没有正确使用持续集成这个术语。那是指在每次更改后构建发送给客户的位,而不是运行批处理文件。
  • @Thorbjørn:不是真的。 CI 是关于在更改流入时保持代码的质量。它不一定是“交给客户的部分”,它可以是单元测试、代码约定、质量指标等等。
  • 如果您不为客户制造产品,那么您就可以在那儿获得较低的果实。
  • @flybywire 你所说的 CI 实际上是一个自动构建(CI 意味着每次发生变化时都会持续运行自动构建)。

标签: java eclipse continuous-integration project-management


【解决方案1】:

有一些关于从命令行here 使用 Eclipse 构建的信息。

(应该是评论,但我不能)。

【讨论】:

    【解决方案2】:

    我不明白你为什么要这样做。如果有任何问题,Eclipse 会大声抱怨,所以交给开发人员吧。

    在我看来,您应该考虑的是编写测试,以检查开发人员已在源存储库中检查的源代码的构建过程中的所有内容是否符合您的预期。

    如果由于构建中缺少 jar 而导致构建中断,请添加检查。如果构建由于依赖于 JVM 中的某个功能而中断,请添加检查。

    仅在通过所有测试的开发团队之外发布构建。那些失败的构建应该由开发人员修复,引入破坏构建的更改。

    【讨论】:

    • 因为我们共享我们的 Eclipse 配置文件
    • 我强烈反对它。使用每个开发人员在创建新工作区时读取的 Eclipse 首选项文件。
    【解决方案3】:

    由于您使用的是 Ant,您可以创建一个自定义任务来验证以下文件是否与预定义的文件相符。如果不匹配,请报告问题:

    • workspace/.metadata/*.*(您认为重要的配置)
    • workspace/project/.classpath
    • workspace/project/.project
    • workspace/project/.settings/*.*(您认为重要的配置)

    当然,这些文件包含一些硬编码的路径,所以你可以在预定义的文件中使用正则表达式。

    如果您只想检查“项目未编译”之类的简单内容,则只需在 ant 脚本中编译项目(使用javac task)并查看是否有错误。

    另一件事 - 持续集成最好与 IDE 无关。 IE。您必须有一个编译项目的无 IDE 环境(CI 引擎)。想象一下:

    • 三个开发人员,其中一个不小心从他的 Eclipse 中删除了一个 jar,但存储库中的项目正在编译。在这种情况下无需报告问题
    • 其中一位开发人员添加了一个新 jar 并提交。其他都没有更新。那里的工作区没有报告任何问题,但在更新后,他们可能会遇到问题。

    说了这么多,我想你最好看看Hudson,这是一个continuous integration 引擎。因此,您的构建将不会依赖 IDE 设置。

    【讨论】:

    • 那时您将检查什么? “没有丢失的罐子” - 哪些罐子可以丢失?如果项目没有编译,那就更容易捕获了。
    • @flybywire - 对您自己的问题的答案投反对票是 粗鲁。您确实希望人们花时间回答,不是吗?
    • @Stephen C:对你自己的问题的答案投反对票并不是不礼貌的。如果没有帮助就投反对票,如果有帮助就投赞成票。简单的规则,上面没有糖。我之前对我的问题的一些答案投了反对票,因为它们毫无帮助和/或错过了重点。这就是网站的运作方式。人们应该努力沟通和解决问题,并尽量减少反对票。
    • (关于不礼貌的讨论:见meta.stackexchange.com/questions/36442/…
    • 我只是回应斯蒂芬的一揽子声明。在某些情况下,投反对票是不可接受的,而在某些情况下是完全可以接受的。斯蒂芬说只有前者是可能的。
    猜你喜欢
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多