对于带有maven的jenkins,SonarQube扫描仪的分析参数如何工作?

时间:2018-02-09 12:01:25

标签: maven jenkins sonarqube sonarqube-scan

您好我正在尝试使用sonarsQube扫描程序为Jenkins分析java maven项目,使用此处描述的方法:SonarQube Scanner Documentation,现在在使用SonarQube Scanner for Maven分析部分中,它说要创建Jenkins maven工作,你只需要添加目标:$ SONAR_MAVEN_GOAL -Dsonar.host.url = $ SONAR_HOST_URL

看起来像这样:Build Image

现在我这样做了,在点击构建环境部分中准备sonarQube扫描仪环境旁边的蓝色问号后,您还可以找到更多这些环境变量。

它工作并分析了我在Source Code Management的源代码管理中指定的一个gitlab存储库。

然而,当我尝试将其更改为另一个存储库时,首先它只是分析了我之前指定的相同存储库,它对旧存储库进行了分析,并将旧结果的结果发送到我的SonarQube服务器,它完全忽略了我在源代码管理部分中指定了不同的gitlab存储库。

稍后,我尝试为maven目标添加干净安装选项,它在构建输出控制台的末尾抛出了一个错误:

[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar (default-cli) on project Export: Please provide compiled classes of your project with sonar.java.binaries property -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.

所以这让我想到了一个部分,我认为我对环境变量的配置做错了,我不明白$ SONAR_MAVEN_GOAL -Dsonar.host.url = $ SONAR_HOST_URL或任何实际值是什么其他环境变量。

我的最终目标是能够使用Jenkins的Java maven项目分析Gitlab存储库。

1 个答案:

答案 0 :(得分:1)

您可以使用标准Jenkins构建步骤在构建项目后触发SonarQube分析,请参阅Analyzing with SonarQube Scanner for Jenkins

  

功能

     

此插件允许您在Jenkins全局配置中集中SonarQube服务器连接详细信息的配置。

     

然后,您可以使用标准的Jenkins构建步骤触发Jenkins的SonarQube分析,以触发分析:

     
      
  • SonarQube扫描仪
  •   
  • Maven的SonarQube扫描仪
  •   
  • 用于MSBuild的SonarQube扫描仪
  •   

或使用构建后操作,请参阅Analyzing with SonarQube Scanner for Maven

  

Maven分析的构建后操作仍然可用,但已弃用。

使用 Freestyle项目,您可以为SonarQube分析添加构建步骤,如:

enter image description here

使用 Maven项目Maven Integration)您可以为SonarQube分析添加构建后操作,例如:

enter image description here