将 Docker Scout 与 SonarQube 集成

SonarQube 集成使 Docker Scout 能够通过策略评估(Policy Evaluation),在新的 SonarQube 质量门策略 中展示 SonarQube 的质量门检查结果。

工作原理

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

当您将新镜像推送到仓库时,Docker Scout 会评估与该镜像对应的 SonarQube 分析记录的结果。Docker Scout 使用镜像上的 Git 证据元数据(来自证据声明或 OCI 注解),将镜像仓库与 SonarQube 分析结果关联起来。

注意

Docker Scout 无法访问历史的 SonarQube 分析记录。仅在集成启用后记录的分析结果才会提供给 Docker Scout。

支持自托管的 SonarQube 实例和 SonarCloud。

前提条件

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

启用 SonarQube 集成

  1. 前往 Docker Scout 仪表板上的 SonarQube 集成页面

  2. 如何集成 部分中,为此集成输入一个配置名称。Docker Scout 会将该标签用作该集成的显示名称,以及用于命名 webhook。

  3. 选择 下一步

  4. 输入您 SonarQube 实例的配置详细信息。Docker Scout 将利用这些信息创建 SonarQube Webhook。

    在 SonarQube 中, 生成新的 用户令牌。 该令牌需在指定项目上具备“管理”权限,或具备全局“管理”权限。

    输入令牌、您的 SonarQube URL 以及您 SonarQube 组织的 ID。如果您使用的是 SonarCloud,则必须提供 SonarQube 组织信息。

  5. 选择 启用配置

    Docker Scout 会执行连接测试,以验证所提供的详细信息正确无误,且该令牌具备必要的权限。

  6. 连接测试成功后,您将被重定向至 SonarQube 集成概览页面,该页面列出了您所有的 SonarQube 集成及其状态。

从集成概览页面,您可以直接进入 SonarQube 质量门禁策略。 该策略初始状态下无任何结果。要开始查看此策略的评估结果, 请触发项目的新一轮 SonarQube 分析,并将对应的镜像推送到仓库。 更多信息,请参阅 策略说明