我正在使用Jenkins 1.462版本,maven版本为3.0.4。 我想搞清楚两个问题: 增量构建是否足够? 例如在这里中指出它不能100%正常工作。在这里的第19页中指出,增量构建是全量构建的补充,而不是替代品。 Incremental build - only build changed modules是否按预期工作? 我的意思是什么?假设我有模块A、B、X、C、D。X使用A和B,C使用X,D使用C。如果我更改了X模块,那么我希望重新编译模块X(自身)、C(直接使用X)和D(在传递闭包中;D使用C,C使用X)。 注意:这是我启用增量构建的唯一更改。
根据Maven文档,增量构建至少在3.0.4版本之前不是非常可靠:“目前(3.0.4),Apache Maven不太支持增量构建。”(引自https://cwiki.apache.org/confluence/display/MAVEN/Incremental+Builds第一行)相反,我强烈建议使用以下两种方法来加速您的构建:- 使用并行构建。在我的经验中,在大型项目中,这个方法效果很好,可以极大地减少构建时间,风险最小(如果有)。只需执行类似于mvn -T 1.5C clean install的命令。(参考https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3) - 如果您的模块是独立的,您可以将它们移动到不同的项目中,并通过使用Maven依赖项将它们粘合在一起。