将 Docker Scout 与 SonarQube 集成

SonarQube 集成使 Docker Scout 能够根据新的质量 门通过策略通过策略评估来显示 SonarQube 质量门检查。

怎么运行的

此集成使用 SonarQube Webhooks 通知 Docker Scout SonarQube 项目分析何时完成。当调用 webhook 时,Docker Scout 接收分析结果,并将其存储在数据库中。

当您将新映像推送到存储库时,Docker Scout 会评估与该映像对应的 SonarQube 分析记录的结果。 Docker Scout 使用图像上的 Git 来源元数据(来自来源证明或 OCI 注释)将图像存储库与 SonarQube 分析结果链接起来。

笔记

Docker Scout 无法访问历史 SonarQube 分析记录。只有启用集成后记录的分析结果才会可供 Docker Scout 使用。

先决条件

要将 Docker Scout 与 SonarQube 集成,请确保:

  • 您的镜像存储库 与 Docker Scout 集成
  • 您的图像是使用 来源证明org.opencontainers.image.revision注释构建的,其中包含有关 Git 存储库的信息。

启用 SonarQube 集成

  1. 转到 Docker Scout 仪表板上的SonarQube 集成页面。

  2. 如何集成部分中,输入此集成的配置名称。 Docker Scout 使用此标签作为集成的显示名称,并命名 Webhook。

  3. 选择下一步

  4. 输入 SonarQube 实例的配置详细信息。 Docker Scout 使用此信息创建 SonarQube Webhook。

    在 SonarQube 中, 生成一个新的User token。该令牌需要指定项目的“管理”权限,或全局“管理”权限。

    输入令牌、您的 SonarQube URL 以及您的 SonarQube 组织的 ID。如果您使用 SonarCloud,则需要 SonarQube 组织。

  5. 选择启用配置

    Docker Scout 执行连接测试,以验证提供的详细信息是否正确,以及令牌是否具有必要的权限。

  6. 成功连接测试后,您将被重定向到 SonarQube 集成概述,其中列出了所有 SonarQube 集成及其状态。

从集成概述页面,您可以直接转到质量门通过策略。这项政策最初不会有任何结果。要开始查看此策略的评估结果,请触发项目的新 SonarQube 分析并将相应的图像推送到存储库。有关更多信息,请参阅 质量门通过政策