我有一个由18个模块和一个父项目组成的大项目。这个项目需要大约1小时的时间来构建,为了改进这一点,我们决定通过设置4个不同的maven配置文件来减少时间,每个配置文件都有项目模块集。父pom.xml模块是:
<modules>
<module>module1</module>
<module>module2</module>
<module>module3</module>
<module>module4</module>
<module>module5</module>
<module>module6</module>
<module>module7</module>
<module>module8</module>
</modules>现在有点像
<profiles>
<profile>
<id>main</id>
<modules>
<module>module1</module>
<module>module2</module>
<module>module3</module>
</modules>
</profile>
<profile>
<id>profile1</id>
<modules>
<module>module4</module>
<module>module5</module>
</modules>
</profile>
<profile>
<id>profile2</id>
<modules>
<module>module6</module>
</modules>
</profile>
<profile>
<id>profile3</id>
<modules>
<module>module7</module>
<module>module8</module>
</modules>
</profile>
</profiles>我们使用jenkins构建项目,并在maven选项中提供配置文件名。这里的问题是,我们看到构建几乎相同的时间,它在日志中显示,声纳和三叶草覆盖运行在整个项目,而不是那套模块!知道怎么解决这个问题吗?有人有更好的方法吗?
发布于 2017-05-25 15:46:41
虽然从分析中排除模块是可能的,但是您不会从当前的方法中获得您想要的结果。这是因为您期望对项目的每个子集执行SonarQube分析。很可能,您希望每个子集在SonarQube中显示为不同的、可浏览的项目。但那不是会发生的。因为每个分析都将使用相同的项目id,所以每个概要文件都将覆盖前面的分析。
由于您的项目似乎由4个独立子集组成,因此我建议您实际上将项目分成4个单独的子集,每个项目都有自己的项目id、测试和分析。
发布于 2017-05-25 17:06:38
您可以在maven中试用并行构建。
https://stackoverflow.com/questions/44184195
复制相似问题