【问题标题】:Project code is not being analyzed for sonarqube未针对 sonarqube 分析项目代码
【发布时间】:2021-03-09 22:53:28
【问题描述】:

我在 azure DevOps 中有一个 repo,只有文件夹作为测试。 现在,我在 azure DevOps 中以这种方式给出了任务结构。但我看不到在 sonarqube 中分析的代码。代码选项卡显示为空白。有人可以帮我解决我哪里出错了吗?我不想在源中给出文件夹名称。我希望分析我在分支中添加的任何代码。

编辑:刚刚意识到这仅发生在功能短暂的分支上..我的 sonarqube 版本是 8.0

步骤:

  • 任务:SonarQubePrepare@4 输入: SonarQube:'连接名称' 扫描仪模式:'CLI' 配置模式:'手动' cliProjectKey:“管道声纳演示” cliProjectName: '管道声纳演示' cliSources:“。” 额外属性:| # 将传递给扫描仪的附加属性, # 每行放一个key=value,例如: sonar.exclusions=**/*.xml

【问题讨论】:

  • 您能否检查您的 Azure 管道,是否正在签出功能分支。如果未签出功能分支,则 SonarQube 不会分析代码。

标签: azure-devops sonarqube sonarqube-scan sonarscanner


【解决方案1】:

SonarQube 扩展提供了三个任务,您将在构建定义中使用这些任务来分析您的项目:

  • 准备分析配置任务,配置所有需要的 执行构建之前的设置。

    • 此任务是强制性的。
    • 对于 .NET 解决方案或 Java 项目,它有助于集成 与 MSBuild、M​​aven 和 Gradle 任务无缝衔接。
  • 运行代码分析任务,实际执行分析 源代码。

    • Maven 或 Gradle 项目不需要此任务,因为
      扫描仪将作为 Maven/Gradle 构建的一部分运行。
  • 发布 Quality Gate Result 任务,显示 Quality Gate 状态 在构建摘要中并让您了解应用程序是否 已准备好“质量方面”的生产。

    • 此任务是可选的。
    • 它可以显着增加整体构建时间,因为它 将轮询 SonarQube,直到分析完成。省略这个 任务不会影响 SonarQube 上的分析结果 - 它只是 表示 Azure DevOps 构建摘要页面不会显示状态 分析或 SonarQube 上项目仪表板的链接。

看来你还需要添加运行代码分析任务。关于如何使用 SonarScanner for Azure DevOps,请参考以下文档:

https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-azure-devops/

【讨论】:

  • 那些在那里..我在这里添加了准备任务..但其他两个任务也添加到了管道中..
  • 检查您的项目类型并参考文档docs.sonarqube.org/latest/analysis/scan/… 来设置 SonarQube 任务。
  • 查看文档中的Analysing other project types 部分。选择使用独立扫描仪,然后将 SonarQube 属性存储在 SCM 的(标准)sonar-project.properties 文件中,您只需确保“设置文件”正确指向它。这是推荐的方式。或者您的 SCM 中没有这样的文件,您可以单击手动提供配置以在构建定义中指定它。不建议这样做,因为它的便携性较差。
  • 刚刚意识到这不仅仅发生在功能分支上......对于其余的其他分支,它工作正常......我的 sonarqube 版本是 8.0..这是现有的功能吗?
  • 你检查过你的特性分支了吗?这个分支与其他分支不同吗?您可以共享您的整个管道,以便我们检查管道中是否有问题。
猜你喜欢
  • 1970-01-01
  • 2021-01-09
  • 2016-04-08
  • 2020-05-10
  • 1970-01-01
  • 2020-07-03
  • 2021-11-24
  • 1970-01-01
  • 2017-01-09
相关资源
最近更新 更多