Msbuild 声纳建筑破坏者跳过失败的建设

Msbuild 声纳建筑破坏者跳过失败的建设,msbuild,sonarqube,Msbuild,Sonarqube,我正在使用Jenkins job构建.Net项目。我增加了声纳分析 D:\Temp\tools\Scanner\u MSBuild-2.2\MSBuild.SonarQube.Runner.exe begin/k:myproj/n:myproj full/v:1.0.0/s:D:\Temp\SonarQube.Analysis.xml 我已经用所需的SonarURL和登录凭据更新了“SonarQube.Analysis.xml”。但它失败了,错误如下: 开始预处理。 正在准备工作目录。。。 MS

我正在使用Jenkins job构建.Net项目。我增加了声纳分析

D:\Temp\tools\Scanner\u MSBuild-2.2\MSBuild.SonarQube.Runner.exe begin/k:myproj/n:myproj full/v:1.0.0/s:D:\Temp\SonarQube.Analysis.xml

我已经用所需的SonarURL和登录凭据更新了“SonarQube.Analysis.xml”。但它失败了,错误如下:

开始预处理。 正在准备工作目录。。。 MSBuild 2.2的SonarQube扫描仪 09:07:00.437正在更新生成集成目标。。。 09:07:00.451正在获取分析配置设置。。。 09:07:01.239在SonarQube服务器上找不到文件。网址:https:///api/qualityprofiles/search?defaults=true 09:07:01.239预处理失败。退出代码:1

我尝试了以下几点:

D:\Temp\tools\Scanner\u MSBuild-2.2\MSBuild.SonarQube.Runner.exe begin/k:myproj/n:myproj full/v:1.0.0/s:D:\Temp\SonarQube.Analysis.xml-Dsonar.buildbreaker.skip=true

但它抛出了一个错误,-Dsonar.buildbreaker.skip=true是无法识别的命令。默认情况下,buildbreaker设置为false,我无法通过命令行将其设置为true。我使用的SonarQube版本低于5.2

我该如何解决这个问题


谢谢

如果您使用的是“开始分析”和“结束分析”构建步骤,那么在SonarQube.Analysis.xml中配置服务器URL将不会有太大帮助(如您所知)

相反,您需要在全局级别将服务器的位置配置为。简而言之:

  • 管理Jenkins>配置系统>SonarQube配置
  • 添加声纳qube
  • 填写您的服务器信息

然后再次检查在构建步骤中是否选择了该服务器实例(如果只配置了一台服务器,则构建步骤将默认为它)。和分析。

您是否使用Jenkins开始分析和结束分析构建步骤?我是。还引发了一个错误,即无法识别“-Dsonar.buildbreaker.skip=true”。Jenkins Begin Analysis插件自动接受此参数,并抛出错误,无法识别Dsonar.buildbreaker.skip=true。我认为这是因为声纳版本低于5.2。有没有什么方法可以通过命令行理解“Dsonar.buildbreaker.skip”选项?非常感谢Ann的回复。我已经在“ManageJenkins”选项中配置了SonarQube,正如您所提到的(也如链接中所提到的)。我可以在“开始分析”插件的下拉列表中看到url。我还填写了其他值(项目键、名称、版本)。在触发作业时,它向我抛出以下错误:SonarQube Scanner for MSBuild 2.2 04:39:10.325无法识别的命令行参数:-Dsonar.buildbreaker.skip=true我在“Manage Jenkins”中的SonarQube配置选项的“advanced”选项中看到该选项作为附加参数“-Dsonar.buildbreaker.skip=true”设置,并从中获取该值。因为它也是为其他基于java的项目设置的,所以我无法更改它。现在我该如何处理这个问题?如果我使用Jenkins插件进行启动分析,那么它会抛出一个错误,即无法识别Dsonar.buildbreaker.skip=true。如果我尝试命令行方式(在作业中使用“Windows powershell”插件),我会得到以下错误:在SonarQube服务器上找不到文件。URL:04:39:09.45预处理失败。退出代码:1