首页 > 解决方案 > 使用一个 sonarqube 项目对不同微服务解决方案进行 SonarQube 分析

问题描述

我需要 3 个微服务(c#、dot net)来聚合来自这些服务的数据,然后根据需要在 UI 中显示值。我想在所有这 3 个微服务中配置 sonarqube。我有一个 sonarqube 项目名称“mysonarqube”。在所有微服务的 yaml 文件中,我添加了这个

-task: SonarQubePrepare@4
 inputs:
    SonarQube:'SonarQube Enterprise'
    scannermode:'MSbuild'
    projectKey: 'mysonarqube'
    projectName:'microservice1'

每个服务解决方案中的项目名称分别替换为 microservice2、microservice3。在构建第一个微服务之后,我可以在 sonarqube 中看到微服务 1 分析,然后在构建第二个微服务 2 时,微服务 1 的第一个分析被微服务 2 替换。这是它的工作原理吗?

可以在一个项目中进行所有分析吗?如何在一个项目中拥有所有解决方案?还是我需要为每个微服务解决方案创建单独的 SonarQube 项目?

标签: sonarqubemicroservicesenterprise

解决方案


该项目由其项目密钥标识。如果您对所有分析使用相同的密钥,它们将相互覆盖。如果您总是同时构建所有内容,您可以在准备结束步骤之间构建它们,以便将所有文件收集到一个项目中。如果您单独构建/发布,明智的做法是创建和跟踪单独的 SonarQube 项目。


推荐阅读