6

我使用的是 Jenkins 1.462,maven 版本是 3.0.4。在 Jenkins,我启用了复选框“增量构建 - 仅构建更改的模块”

我想弄清楚2个问题:

  1. 增量构建是否足够? 在这里,如何在 Subversion 的多模块 Maven 构建中触发单个模块的 Jenkins 构建?例如,声明它不能 100% 工作 这里http://www.slideshare.net/andrewbayer/7-habits-of-highly-effective-jenkins-users在第 19 页声明增量构建是对完整构建,而不是替换。

  2. 增量构建 - 仅构建更改的模块实际上是否按预期工作? 我这是什么意思?如果我有模块 A、B、X、C、D。X 使用 A 和 B,C 使用 X,D 使用 C,我在 X 模块中进行更改。比我想重新编译模块 X (itslef)、C (直接使用 X) 和 D (在传递闭包中;D 使用 C,使用 C)。

注意:这是我为启用增量构建所做的唯一更改。

4

1 回答 1

3

正如 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 依赖项将它们粘合在一起。

于 2013-03-31T10:37:23.873 回答