您好我正在尝试使用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存储库。
答案 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分析添加构建步骤,如:
使用 Maven项目(Maven Integration)您可以为SonarQube分析添加构建后操作,例如: