【发布时间】:2016-06-22 21:38:03
【问题描述】:
我们有一个大型的多模块 Maven 项目。我一直在尝试使用 -T 选项加速我们的单元测试构建,并取得了一些积极的结果。但是,我们的项目中有一些依赖路径是这样的:
模块 A
每个模块的单元测试需要 20-30 分钟。由于 -T 选项按依赖顺序构建模块,因此总构建时间为 90 分钟。如果我可以先编译所有模块,然后并行运行 A、B 和 C 的测试,那真的会加快构建速度。例如。像这样的:
$ mvn -T 10 clean install -DskipTests
$ mvn -T 10 --ignore-dependencies test
问题:Maven 是否提供开箱即用的支持?
我一直在玩弄编写一个小脚本的想法,该脚本将解析 mvn dependency:tree 的输出并并行调用“mvn test -pl A”、“mvn test -pl B”等等,但是显然,如果 Maven 有一个开箱即用的解决方案,那就更好了。
我们正在使用 Jenkins,所以如果有一些 Jenkins 插件或我错过的 Jenkins 功能支持这一点,那将有很大帮助!
注意:加速 A、B 和 C 的单元测试需要大量工作,并且不能保证单个模块中的测试是可并行的
【问题讨论】:
标签: maven unit-testing jenkins build multi-module