增量持续集成

发布于 2024-07-29 20:38:17 字数 509 浏览 1 评论 0原文

我为多个项目设置了持续集成,通常包括:

  • 编译;
  • 测试;
  • javadoc生成;
  • 依赖性报告;
  • 静态分析(PMD、CPD、FindBugs)。

这些通常位于 ci 目标中,该目标清理工作区并运行所有上述目标。 我已经尝试了大多数可能的技巧来让它们运行得更快,包括 ant parallel 任务,但这些仍然太慢。

我了解管道模式(例如提交时编译、每晚静态分析),但我想获取每次提交的所有信息。 通过查看Eclipse我可以看到:

是否可以执行增量 CI 构建,以减少提交后的等待时间?

I have set up continuous integration for multiple projects, which usually includes:

  • compilation;
  • testing;
  • javadoc generation;
  • dependency reporting;
  • static analysis ( PMD, CPD, FindBugs).

These are usually up in a ci target which cleans the workspace and runs all the above targets. I've tried most of the possible tricks to get them to run faster, including the ant parallel task, but these are still too slow.

I known about the pipeline pattern ( e.g. compile on commit, static analysis nightly ) but I'd like to get all of the information on each commit. By looking at Eclipse I can see that:

  • incremental compilation is definitely possible;
  • the findbugs plugin seems to have incremental analysis.

Is it possible to execute incremental CI builds, in order to decrease the waiting time after committing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笨死的猪 2024-08-05 20:38:17

您还没有指定您使用的 ci 系统,但是(不管怎样)您是否考虑过使用 maven 而不是 ant 作为您的构建工具?

然后,您可以针对您的项目设置两个构建:

  • 第一个构建由签入触发并运行编译+单元测试,
  • 第二个构建由第一个成功触发,并运行

我将使用的所有其他内容 sonar 用于“其他一切”,以最小的努力获得最大的有用报告。

You haven't specified what ci system you use, but (regardless of this) have you considered using maven instead of ant as your build tool?

You can then set up two builds against your project:

  • the first build is triggered by a checkin and runs the compile + unit tests
  • the second is triggered by the first succeeding, and runs everything else

I would use sonar for "everything else" to get maximum useful reporting with minimum effort.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文