【问题标题】:How to set sonar.projectBaseDir in SonarQube Scanner for Jenkins?如何在 SonarQube Scanner for Jenkins 中设置 sonar.projectBaseDir?
【发布时间】:2018-06-13 08:00:19
【问题描述】:

我尝试使用SonarQube Scanner 插件(2.5 版)分析 Jenkins 中多模块项目的一个模块。不幸的是,Jenkins 选择了错误的模块作为工作目录。

在这种特殊情况下,我可以更改模块的顺序,但通常(不止一个分析的模块)它不起作用。所以想解决sonar.projectBaseDir属性的问题,见Advanced SonarQube Scanner Usages

备用分析目录

如果要分析的文件不在分析开始的目录中,请使用sonar.projectBaseDir 属性将分析移动到不同的目录。例如。分析从jenkins/jobs/myjob/workspace开始,但要分析的文件在ftpdrop/cobol/project1

sonar-project.properties

sonar.projectBaseDir=/home/ftpdrop/cobol/project1
sonar.sources=src
sonar.cobol.copy.directories=/复制

我尝试了以下方法将sonar.projectBaseDir 属性设置为正确的模块(module2 而不是module1):

  1. sonar.projectBaseDirsonar-project.properties 文件中

    但它不起作用。 sonar-project.properties 文件中的属性被忽略。日志显示该属性被 JVM 选项覆盖:

    /Users/test/jenkinsslave/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner_2.8/bin/sonar-scanner -X -e -Dsonar.host.url=http://sonarqube:9090 -Dproject.settings=/Users/test/jenkinsslave/workspace/Test/module2/sonar-project.properties -Dsonar.projectBaseDir=/Users/test/jenkinsslave/workspace/Test/module1
    

    我认为这是SonarQube Scanner插件的一个bug,因为project.settingssonar.projectBaseDir不兼容,见Advanced SonarQube Scanner Usages

    属性project.settings可用于指定项目配置文件的路径(该选项与project.homesonar.projectBaseDir属性不兼容)。

  2. sonar.projectBaseDir 作为 JVM 选项

    但它不起作用。该属性被忽略。日志显示该属性已被覆盖:

    /Users/test/jenkinsslave/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner_2.8/bin/sonar-scanner -X -e -Dsonar.host.url=http://sonarqube:9090 -Dsonar.projectBaseDir=/Users/test/jenkinsslave/workspace/Test/module1
    
  3. sonar.projectBaseDir 作为附加参数

    但它不起作用。日志显示属性配置了两次:

    /Users/test/jenkinsslave/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner_2.8/bin/sonar-scanner -Dsonar.projectBaseDir=/Users/test/jenkinsslave/workspace/Test/module2 -X -e -Dsonar.host.url=http://sonarqube:9090 -Dsonar.projectBaseDir=/Users/test/jenkinsslave/workspace/Test/module1
    

    我认为这是SonarQube Scanner插件中的一个错误,因为如果已经有sonar.projectBaseDir选项,它不应该添加这样的选项。

【问题讨论】:

    标签: sonarqube sonarqube-scan


    【解决方案1】:

    我找到了解决方案,我必须将属性sonar.projectBaseDir 添加为分析属性

    配置:

    日志:

    /Users/test/jenkinsslave/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner_2.8/bin/sonar-scanner -X -e -Dsonar.host.url=http://sonarqube:9090 -Dsonar.projectBaseDir=./../module2
    

    【讨论】:

      猜你喜欢
      • 2016-11-02
      • 2019-06-02
      • 2019-03-29
      • 2018-05-08
      • 2020-03-06
      • 2018-06-21
      • 1970-01-01
      • 2018-09-29
      • 2016-10-17
      相关资源
      最近更新 更多