当前位置: 首页 > 知识库问答 >
问题:

用于Jenkins的SonarQube扫描器-SonarQube MSBuild集成失败:SonarQube无法收集有关项目的所需信息

路裕
2023-03-14

安装信息是...
sonarqube-6.7.1 sonar-scanner-3.0.3.778 sonar-scanner-msbuild-4.0.2.892 msbuild 14 Java SE开发工具包8.NET Framework 4.6.2

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

第一步。用于MSBuild-Begin分析的SonarQube扫描器

第2步。调用“C:\Program Files(x86)\Jenkins\Workspace\css_sq\trunk\build\build.bat”

错误消息是...

C:\程序文件(x86)\jenkins\workspace\CSS_SQ>exit 0[CSS_SQ]$“C:\程序文件(x86)\jenkins\tools\hudson.plugins.sonar.msbuildsqrunnerinstallation\sonarquebe_scanner_for_msbuild\msbuildsqrunner.exstallation\sonarquebe_scanner_for_msbuild\MSBuild.sonarquebe.runner.exe”结束/d:sonar.login=********_for_msbuild\SonarQube.analysis.xml
从C:\程序文件(x86)\jenkins\tools\hudson.plugins.sonar.msbuildsqrunnerinstallation\sonarqube_scanner_for_msbuild\SonarQube.analysis.xml加载分析属性。

SonarQube MSBuild集成失败:SonarQube无法收集有关项目的所需信息。可能的原因:
1。尚未生成项目-项目必须在开始和结束步骤之间生成
2。已使用不受支持的MSBuild版本生成项目。目前支持MSBuild14.0以上版本
3。开始、生成或结束步骤尚未全部从同一个文件夹启动

生成声纳属性文件失败。无法完成SonarQube分析。
14:36:16.988创建摘要标记文件...
14:36:16.989后处理失败。退出代码:1
错误:MSBuild的SonarQube扫描程序执行失败(退出代码1)
完成:失败

关于可能的原因,我已经检查了1和2,它是正确的,但我不确定3。我猜。sonarqube文件应该与。sln文件在同一个文件夹中,那么当我设置批处理文件时,我需要在附加参数列中设置路径。但我还找不到任何线索来设定。是什么造成了这个错误消息?我该怎么做?

共有1个答案

翁俊良
2023-03-14

第三个选项意味着“begin”和“end”命令必须从同一个文件夹运行,例如,在运行这些命令时,当前文件夹应该是相同的(如果在扫描程序命令之前执行cd,打印的路径应该是相同的)。

编辑:这个特殊的问题似乎是由于构建正在执行较旧版本的MSBuild而引起的。请确保在分析版本中运行MSBuild14或15。

旧建议(仍然普遍有效)

我们刚刚研究了类似的问题,这是由用户从代理服务的认证。要检查您的代码是否相同,请使用/d:sonar.verbose=true运行扫描器的begin步骤,在输出中应该看到如下代码行:

12:34:56.479  Installed SonarQube.Integration.ImportBefore.targets to C:\...
12:34:56.482  Installed SonarQube.Integration.ImportBefore.targets to C:\...

如果末尾的路径是C:\Windows的子文件夹,则需要将Jenkins从代理的Windows服务用户更改为域用户(而不是本地系统):

 类似资料:
  • 本文向大家介绍Jenkins集成SonarQube的方法详解,包括了Jenkins集成SonarQube的方法详解的使用技巧和注意事项,需要的朋友参考一下 Jenkins 集成 SonarQube Scanner 1. 安装Jenkins 下载安装包,这里我们下载war包:https://jenkins.io/download/ 运行jenkins.war的方式有两种: 第一种:将其放到tomca

  • sonar.projectkey=projkey sonar.projectname=projname Sonar.ProjectVersion=1.0 sonar.sources={path} sonar.java.binaries={path} Sonar.ProjectBaseDir={path}

  • 我正试图将sonarqube集成到我的android项目中。下面是我的根构造。gradle 我试图遵循这里提到的内容--http://docs.SonarQube.org/display/scan/analysy+with+SonarQube+scanner+for+gradle,并用Lint和SonarQube分析Android项目

  • 我试图通过Jenkins管道构建我的TypeScript应用程序。为了管理构建、测试和代码质量扫描,我让Jenkins使用一个基于Node:7-Alpine的Docker代理。 容器的Dockerfile是: 我的Jenkins文件看起来像: null [03:00:14]开始SonarQube分析... [03:00:14]检查可执行文件是否存在:/home/node/.sonar/native

  • 在SonarQube runner中,可以通过sonar project属性中的sonar.exclusions属性来管理排除的项目。通过这种方式,我们可以独立于代码库来管理构建配置。 当项目文件夹被称为***.tests时,在将其添加到排除设置后,仍会对其进行扫描。

  • 有人知道MSBuild的SonarQube扫描器是作为构建的一部分进行扫描并只将结果发回给SonarQube,还是EXE正在检测,我们可以将工件发送到Linux机器上的SonarQube进行分析,类似于使用sonar-scanner-cli扫描java工件的方式?