将 Docker Scout 与 SonarQube 集成
SonarQube 集成使 Docker Scout 能够通过策略评估,在新策略 SonarQube Quality Gates Policy 下展示 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 集成,请确保:
- 您的镜像仓库已与 Docker Scout 集成。
- 您的镜像使用包含 Git 仓库信息的出处证明或
org.opencontainers.image.revision
注解构建。
启用 SonarQube 集成
前往 Docker Scout 控制面板上的SonarQube 集成页面。
在 如何集成部分,为此集成输入一个配置名称。Docker Scout 将此标签用作集成的显示名称,并用于命名 webhook。
选择 下一步。
输入您的 SonarQube 实例的配置详细信息。Docker Scout 使用此信息创建 SonarQube webhook。
在 SonarQube 中,生成新的用户令牌。令牌需要在指定项目上具有“管理”权限,或具有全局“管理”权限。
输入令牌、您的 SonarQube URL 以及您的 SonarQube 组织 ID。如果您使用 SonarCloud,则需要提供 SonarQube 组织。
选择 启用配置。
Docker Scout 执行连接测试,以验证提供的详细信息是否正确以及令牌是否具有必要的权限。
连接测试成功后,您将被重定向到 SonarQube 集成概览页面,其中列出了所有 SonarQube 集成及其状态。
在集成概览页面,您可以直接转到 SonarQube Quality Gates Policy。该策略最初没有结果。要查看该策略的评估结果,请触发对项目进行新的 SonarQube 分析,并将相应镜像推送到仓库。有关更多信息,请参阅策略说明。