【问题标题】:Sonarqube not applying rulesSonarqube 不应用规则
【发布时间】:2019-01-21 07:37:27
【问题描述】:

我将从一些上下文开始:

  1. 我正在运行一个容器化的 Sonarqube 实例、Jenkins 和一个带有 .NET sdk 的容器,用于构建/测试目的。
  2. 所有这些容器都以 Alpine Linux 作为基础操作系统
  3. Jenkins 版本:2.121.2
  4. Sonarqube 版本:6.7.4(内部版本 38452)
  5. .NET sdk 版本:2.1.302
  6. 我正在对我克隆的示例目录进行测试(一些小的编辑以确认 SonarQube 是否正常工作)目录:https://github.com/Raisinpit/MSTest
  7. 我的詹金斯构建计划如下:
    • 使用 SDK ssh 到容器并告诉它克隆 repo
    • ssh 到带有 SDK 的容器和“dotnet publish”目录
    • 使用 SDK SSH 到容器并执行“dotnet test”
    • 我的声纳设置:
  8. 成功构建证明:
  9. SonarQube 结果:

我希望有人知道为什么我没有得到任何检测,而 sonarqube 认为它完成了它的工作。

【问题讨论】:

  • 仅分析 1 个文件并计算 0 个文件的 CPD(步骤 8)?
  • 我只有 1 个 C# 代码文件,所以这是正确的,但是 CPD(复制/粘贴检测器)甚至不包含该文件。据我所知,我没有更改设置。

标签: .net docker jenkins sonarqube


【解决方案1】:

您的项目主页屏幕截图省略了右上角的栏杆,该栏杆保存了每种语言的行数,这可能非常有用。

但是根据您的 Jenkins 设置屏幕截图,您正在使用长期弃用的 sonar.language 属性来限制对 C# 文件的分析,然后不执行“正确”的 C# 分析。这很可能是原因。

查看有关如何通过 Jenkins 分析 .NET 的文档:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins#AnalyzingwithSonarQubeScannerforJenkins-AnalyzingwithSonarQubeScannerforMSBuild

【讨论】:

  • 我已经更新了最后一张图片,它现在包含了导轨,并且语言标签从我的 jenkins 设置中消失了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-07
  • 1970-01-01
  • 1970-01-01
  • 2017-12-19
  • 2017-10-11
相关资源
最近更新 更多