我正在使用Jenkins 1.462,而Maven版本是3.0.4。在詹金斯,我启用了“增量构建-仅构建已更改的模块”复选框
我想找出两个问题:
增量构建是否足够? 在这里,如何在Subversion的多模块Maven构建中触发单个模块的Jenkins构建?例如,据说它不能以100%的频率工作。在这里,第19页的http://www.slideshare.net/andrewbayer/7-habits-of-highly-effective-jenkins-users表示增量构建是对完整版本,而不是替代版本。
无论是 只构建更改的模块-增量编译 实际上是按预期工作? 我的意思是什么?如果我有模块A,B,X,C,D。X使用A和B,C使用X,D使用C,然后在X模块中进行更改。比我想重新编译模块X(itslef),C(直接使用X)和D(在传递闭包中; D使用C,使用C)。
注意:这是我为了启用增量构建所做的唯一更改。
如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的操作
mvn -T 1.5C clean install
如果您的模块是独立的,则可以将它们移至不同的项目,并使用maven依赖项将它们粘合在一起。