SonarQube MSBuild集成失败:SonarQube无法收集有关您的项目的所需信息

时间:2016-12-30 11:45:34

标签: msbuild sonarqube

我像这样安装......

sonarqube-6.2 |声纳扫描仪-2.8 | sonar-scanner-msbuild-2.2.0.24 | msbuild 14

我制作了windows批处理文件来构建和扫描(声纳)。但有些项目还可以。但有些项目失败了。

批处理文件是......

  

MSBuild.SonarQube.Runner.exe开始/ k:%PROJECT_KEY%/ n:%PROJECT_NAME%/ v:%BUILD_VERSION%/ d:@ zonar.verbose = true

     

MSBuild.exe" projects" / t:build / v:m

     

MSBuild.SonarQube.Runner.exe结束

错误消息是......

  

MSBuild 2.2的SonarQube扫描仪   在C:\ SONARQUBE \ sonar-scanner-msbuild-2.2.0.24 \ SonarQube.Analysis.xml中找到了默认属性文件   从C:\ SONARQUBE \ sonar-scanner-msbuild-2.2.0.24 \ SonarQube.Analysis.xml加载分析属性   后处理开始了。   用于MSBuild 2.2的SonarQube扫描仪   18:50:20.591从C:\ jenkins_slave_buildpc \ workspace \ amis3_client_sonar.sonarqube \ conf \ SonarQubeAnalysisConfig.xml加载SonarQube分析配置   18:50:20.592未在TeamBuild下运行   18:50:20.593分析基目录:C:\ jenkins_slave_buildpc \ workspace \ amis3_client_sonar.sonarqube   构建目录:   Bin目录:C:\ jenkins_slave_buildpc \ workspace \ amis3_client_sonar.sonarqube \ bin   配置目录:C:\ jenkins_slave_buildpc \ workspace \ amis3_client_sonar.sonarqube \ conf   输出目录:C:\ jenkins_slave_buildpc \ workspace \ amis3_client_sonar.sonarqube \ out   配置文件:C:\ jenkins_slave_buildpc \ workspace \ amis3_client_sonar.sonarqube \ conf \ SonarQubeAnalysisConfig.xml   将SonarQube项目属性文件生成到C:\ jenkins_slave_buildpc \ workspace \ amis3_client_sonar.sonarqube \ out \ sonar-project.properties   SonarQube MSBuild集成失败:SonarQube无法收集有关您项目的必要信息。

     

可能的原因:

     
      
  1. 项目尚未建成 - 项目必须建立在开始和结束步骤之间

  2.   
  3. 已使用不受支持的MSBuild版本来构建项目。目前支持MSBuild 12.0以上

  4.   
  5. 开始,构建或结束步骤尚未从同一个文件夹启动

  6.         

    将处理摘要写入C:\ jenkins_slave_buildpc \ workspace \ amis3_client_sonar.sonarqube \ out \ ProjectInfo.log   生成声纳属性文件失败。无法完成SonarQube分析。   18:50:20.615创建摘要降价文件...   18:50:20.617后处理失败。退出代码:1

我为声纳执行了相同的批处理文件。但有些项目还可以。有些项目失败了.. 出现此错误消息的原因是什么?

2 个答案:

答案 0 :(得分:3)

尝试在teamcity中运行MSBuild.SonarQube.Runner end命令时遇到了类似的错误。 开始步骤和MSBuild步骤来构建项目工作正常。

当我为teamcity中的跑步者和MSbuild提供完整路径时。它对我有用。

C:\SonarQube\sonar-scanner-msbuild-3.0.2.656\MSBuild.Sonarqube.runner.exe 
begin /k:"Sonar key here" /n:"Sonar project here" /v:%build.number% 
/d:sonar.log.level=DEBUG 

"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" [path for .sln file 
here] /t:Rebuild 
/p:VisualStudioversion=14.0;Configuration=Release;Platform="Any CPU"

C:\SonarQube\sonar-scanner-msbuild-3.0.2.656\MSBuild.Sonarqube.runner end

答案 1 :(得分:0)

值得检查的另一件事 - 特别是如果您尝试从构建服务器运行SonarQube - 是否在本地系统配置文件中运行。从日志中,您可能会看到类似的内容:

Installed SonarQube.Integration.ImportBefore.targets to C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\MSBuild\15.0\Microsoft.Common.targets\ImportBefore

我发现这条路径并不存在,尽管SonarQube的扫描仪很高兴声称已在那里安装了目标。我的解决方案是创建一个构建代理帐户来执行构建任务。这将导致SonarQube将其目标安装到用户配置文件MSBuild文件夹。例如:

C:\Users\buildagent\AppData\Local\Microsoft\MSBuild\15.0\Microsoft.Common.targets\ImportBefore