gpt4 book ai didi

java - Maven增量构建

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:13:34 26 4
gpt4 key购买 nike

我们目前有一个大的 Maven 2 项目,它是许多具有复杂依赖关系的独立项目的集合,除了一些用于构建的公共(public)父 POM 之外。最后,我们总是不得不将应用程序作为一个整体来发布,所以我宁愿将其转换为一个或几个大项目。

有没有人在如何优化大型项目的持续集成构建方面有经验? Maven 或 Hudson 的增量构建功能好用吗?我不希望在一个模块中只进行了很小的更改就总是等待 2 个小时。

另一方面,可以肯定的是,您总是必须至少重新构建和重新测试已更改模块的所有直接和间接依赖项。这也是我们目前对 Hudson 所做的,自动触发所有相关作业。

为同一个项目拆分成多个构建作业是否有返回?我通常不喜欢在服务器上放置所有其他生成的东西(如报告、文档等)可能已过时的 Artifact 。

感谢您的任何想法。

最佳答案

我刚刚做了更多测试,发现 Maven 并不真正支持增量构建。没有任何插件 Maven 实际上有一个危险的行为。如果您更改某些模块中的代码并在没有事先清理的情况下进行编译,则依赖模块将不会被重建,这意味着它们随后会引用旧的过时版本的依赖项并且不会对更新后的代码使用react。

使用增量构建插件可以在不清理的情况下构建。每个更改的模块都会被重建,所有依赖项都将被清理和重建。然而,在我的例子中,编译只使用了 10% 的构建时间,90% 用于测试。当我安装/部署所有测试时再次执行,因此增量构建插件带来的时间 yield 非常小。

所以我仍然只看到在 Hudson 中拆分构建的选项,这在我看来并不理想。

关于java - Maven增量构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6281699/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com