如何在jenkins中嵌套多模块maven项目?

时间:2017-07-17 07:05:44

标签: jenkins sonarqube sonarqube-scan

我的项目结构如下:

services
  A
    a1
    a2
    pom.xml
  B
    b1
    b2
    pom.xml 
  pom.xml 

我想扫描最里面的项目(a1a2b1b2)。在jenkins Post Steps中,我添加了"分析属性"在没有属性文件的执行SonarQube扫描仪中,主要是:

sonar.modules=A,B  
sonar.sources=src  

我想从服务目录构建,但它失败了这个错误:

  

文件夹' src'不存在' A:a1'

我理解,SonarQube会尝试在src目录中找到A,但我有一些嵌套项目,例如a1(我也试过A.modules=a1,a2但没有成功)

如何让扫描仪分析这些项目?

2 个答案:

答案 0 :(得分:2)

这是我的解决方案:

sonar.modules=A,B 
A.sonar.modules=a1,a2
B.sonar.modules=b1,b2
sonar.projectBaseDir=.
sonar.sources=src  

关键点是projectBaseDir,我希望这可以帮助有人遇到类似的问题。

答案 1 :(得分:0)

使用SonarQube分析maven项目时,请使用maven目标sonar:sonar而不是sonar.properties配置。

使用maven时,您甚至不需要更改任何分析属性。 maven配置已经提供了有关源文件夹等的声纳信息。请检查the official documentation如何设置它。通常,您不必为此更改项目的pom.xml(仅限本地maven settings.xml)。