You need to enable JavaScript to run this app.
导航

SonarQube 代码扫描

最近更新时间2022.09.08 21:45:20

首次发布时间2022.08.13 00:30:38

持续交付支持对接 SonarQube,为您提供代码扫描功能。

前提条件

使用限制

部署 SonarQube 服务时,有以下注意事项:

  • SonarQube 服务必须和您使用的构建资源池网络互通。
    • 如果您使用公共资源池,需保证 SonarQube 服务可通过公网访问。
    • 如果您使用私有资源池,需保证 SonarQube 服务和您的私有资源池处于同一 VPC。
  • SonarQube 服务的版本不低于 LTS 8.9 。
  • values.yaml文件中postgresql.volumePermissions.enabled参数的值必须修改为 true,其他参数配置请按需修改。

添加任务

创建或编辑流水线时,在 流程配置 页签,单击 添加任务,弹出 添加任务 抽屉。任务模板选择 SonarQube 代码扫描

参数说明

请按要求配置 SonarQube 代码扫描任务。
alt

配置项说明
步骤名称默认为 SonarQube 代码扫描,支持自定义步骤名称。
服务器地址输入您的 SonarQube 服务的访问地址,支持 HTTP 和 HTTPS 协议。地址可以是 IP 地址 + 端口的形式,也可以是域名的形式。
User Token输入前提条件中准备好的 Token。

质量门禁

支持使用质量门禁值作为 SonarQube 代码扫描任务是否通过的判断条件,您可使用缺陷数和漏洞数作为判断指标。
例如:上图表示 SonarQube 代码扫描任务成功的条件为:代码中缺陷数量不超过 32 个,且漏洞数量不超过 16 个。

说明

如果您需要修改质量门禁值,请直接在持续交付控制台修改此配置项。SonarQube 服务端展示的、以cp_[project_name]_qg命名的质量门禁为持续交付生成的质量门禁值,在 SonarQube 服务端修改质量门禁不会生效。

日志及产物

在当前流水线的 最近运行详情 > 运行流程 标签页,单击 SonarQube 代码扫描任务卡片的标题,查看运行日志、产物及任务配置信息。
alt

  • 运行日志:实时展示 SonarQube 代码扫描任务的运行日志。
  • 配置:展示 SonarQube 的服务端地址。
  • 产物:运行成功后,SonarQube 代码扫描任务会输出以下产物。
    • 缺陷数(Bugs):展示代码中的缺陷数量。
    • 漏洞数(Vulnerabilities):展示代码中与安全相关漏洞数量。
    • 代码异味(Code Smells):展示代码中与可维护性相关的问题数量。代码异味表示可维护性差。
    • 覆盖率(Coverage):测试用例对代码的覆盖率,单位为百分比。
    • SonarQube 扫描报告:单击可跳转至 SonarQube 服务端,查看详细报告。