将 Docker Scout 与 SonarQube 集成
SonarQube 集成使 Docker Scout 能够通过策略评估(在一个新的 SonarQube 质量门策略 下)显示 SonarQube 质量门检查。
工作原理
此集成使用 SonarQube webhooks 来通知 Docker Scout SonarQube 项目分析何时完成。当调用 webhook 时,Docker Scout 会接收分析结果并将其存储在数据库中。
将新镜像推送到仓库时,Docker Scout 会评估与该镜像对应的 SonarQube 分析记录的结果。Docker Scout 使用镜像上的 Git 原信息元数据(来自原信息证明或 OCI 注释)将镜像仓库与 SonarQube 分析结果关联起来。
注意
Docker Scout 无法访问历史 SonarQube 分析记录。只有在启用集成后记录的分析结果才能提供给 Docker Scout。
支持自托管 SonarQube 实例和 SonarCloud。
先决条件
要将 Docker Scout 与 SonarQube 集成,请确保:
- 您的镜像仓库已 与 Docker Scout 集成。
- 您的镜像使用 原信息证明 或
org.opencontainers.image.revision
注释构建,其中包含有关 Git 仓库的信息。
启用 SonarQube 集成
转到 Docker Scout 仪表板上的 SonarQube 集成页面。
在“如何集成”部分,输入此集成的配置名称。Docker Scout 使用此标签作为集成的显示名称以及 webhook 的名称。
选择“下一步”。
输入您的 SonarQube 实例的配置详细信息。Docker Scout 使用此信息来创建 SonarQube webhook。
在 SonarQube 中,生成一个新的用户令牌。此令牌需要对指定项目具有“管理”权限,或具有全局“管理”权限。
输入令牌、SonarQube URL 和 SonarQube 组织的 ID。如果您使用的是 SonarCloud,则需要 SonarQube 组织。
选择启用配置。
Docker Scout 将执行连接测试,以验证提供的详细信息是否正确,以及令牌是否具有必要的权限。
连接测试成功后,您将被重定向到 SonarQube 集成概述,其中列出了您所有的 SonarQube 集成及其状态。
在集成概述页面,您可以直接进入SonarQube 质量门禁策略。此策略最初将没有结果。要开始查看此策略的评估结果,请触发项目的新的 SonarQube 分析并将相应的镜像推送到存储库。更多信息,请参考策略说明。