You need to enable JavaScript to run this app.
导航
SonarQube 代码扫描
最近更新时间:2024.12.13 11:08:57首次发布时间:2024.12.13 11:08:57

持续交付预置 SonarQube 扫描 任务,支持对接您的 SonarQube 平台,对代码进行快速检测。本文为您介绍该预置任务的使用说明。

前提条件

使用限制

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

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

添加任务

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

参数说明

下文为您介绍该预置任务的参数。

  • 任务名称
    默认为 SonarQube 扫描,支持自定义任务名称。

  • 上游任务
    展示当前任务的上游串行任务名称。无上游任务时展示为-

  • 代码源下载策略
      根据当前任务是否需要使用代码源,选择代码源下载策略。

    • 下载代码:当前任务需要下载代码源。
    • 不下载代码:当前任务无需使用代码源。
  • 步骤
    当前任务包含一个默认预置步骤(SonarQube 代码扫描)。支持根据需要为当前任务添加其他串行步骤。下文介绍该默认预置步骤的参数。
    alt

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

    质量门禁

    支持使用质量门禁值作为 SonarQube 代码扫描任务是否通过的判断条件,您可使用缺陷数和漏洞数作为判断指标。

    说明

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

    失败时跳过

    可选配置。

    • 开启:当前步骤运行失败直接跳过,当前任务其余步骤可继续执行,流水线也可继续向下运行。
    • 关闭:当前步骤失败后,当前任务其余步骤不再执行,流水线将运行失败。
  • 任务输出
    展示当前任务输出的所有产物,包含当前任务下所有步骤的产物。无产物时展示为-。产物可用于后续任务的输入。
    对于当前默认预置步骤,将输出缺陷数、漏洞数、代码异味、覆盖率和扫描报告。

  • 高级设置

    • 资源规格:为当前任务选择公共资源池使用的 CPU 和内存上限。
    • 超时时间:以任务维度设置每个步骤的自动超时时间。任一步骤运行超时,将不再执行其他串行步骤,整个任务判定为执行失败。
    • Webhook 通知:支持通过 Webhook 和飞书机器人两种方式推送任务维度的消息,帮助您及时掌握任务动态。

日志及产物

下文为您介绍该预置任务运行完成后,流水线展示的详情信息。
在当前流水线的运行详情页面,单击 SonarQube 扫描卡片的标题,查看运行日志、产物及任务配置信息。
alt

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