腾讯云代码分析腾讯云代码分析
指南
API
  • 其他

    • 问题忽略方式
立即体验
  • 服务协议
  • 隐私协议
  • 简体中文
  • English
Github
指南
API
  • 其他

    • 问题忽略方式
立即体验
  • 服务协议
  • 隐私协议
  • 简体中文
  • English
Github
  • 指南

    • 功能简介
    • 快速开始
    • 权限配置
    • 仓库配置
    • 分析方案
    • 分析项目
    • 节点管理
    • 增强分析
    • AI 助手
    • 插件配置
    • 工具规则
    • 常见问题
    • 词汇表

仓库配置

分析项目

展示当前已创建的分析项目数据列表,并简要展示其执行代码分析后的概览数据,方便用户快速管理、进入到具体的分析项目内查阅代码质量情况。

基础配置

配置仓库分支、方案规则,根据匹配规则对分析项目的运行环境、环境变量、新问题基线、合流管控等进行相应配置。

repoconf

  • 运行环境:可指定该匹配规则下的分析项目执行分析时采用的节点资源环境;

  • 环境变量:用于提供代码库在执行代码分析时所需的环境变量,如工具运行、代码编译相关环境变量;

  • 新问题基线:可指定基线后的分析发现的问题为新问题;

  • 管控合并请求:用于控制在代码分析后仅质量门禁通过才允许合入;

    如何管控合并请求

    参见管控合并请求

  • GIT 相关控制:可配置是否拉取GIT子模块、LFS等。

触发配置

配置仓库分支、方案规则,根据匹配规则监听代码库的代码提交事件、合并请求(MR/PR)事件,自动触发代码分析。

triggercnf

配置流程

  • 创建触发配置,生成 webhook_url 和 secret;

  • 进入仓库托管平台对应代码库的 webhook 配置,配置对应的 webhook_url 和 secret 即可。

支持的仓库托管平台

Github、腾讯工蜂、Gitee、Gitlab、私有化 Gitlab 等

配置示例

说明:以接入Github为例,其他平台同理

  • 步骤1: 新建触发配置,根据使用指引,配置触发规则。

  • 步骤2: 配置生效后效果如下截图,会生成一个对应的 webhook_url 和 secret。

    triggercnf

  • 步骤3: 登录 Github,进入对应的仓库内,选择 settings → web hooks → add new webhook (其他平台配置位置可能不同,但大同小异),将 webhook_url 和 secret 配置上去。触发事件处勾选 push事件 和 pull requests事件 。

    triggercnf

  • 配置完毕: 之后该仓库对应配置规则的分支在发生 PUSH 和 MR(PR) 时就会自动触发执行代码分析。

    triggercnf

私有化 Gitlab 说明

针对私有化 Gitlab,用户在配置 webhook 时,除了上述需要配置 webhook_url 和 secret 外,还需要增加一个 自定义header ,格式为:

Private-Plat-From: "Gitlab-xxx"

其中 xxx 为用户的团队名,例如用户的团队名为 AbaTeam ,则为:Private-Plat-From: Gitlab-AbaTeam。

提示

  • 需要确保私有化 Gitlab 端口能被外界访问!
  • 如果私有化 Gitlab 无法 https 访问,则需要将 webhook_url 的 https 调整成 http,否则会导致访问不通!

过滤配置

配置仓库分支、方案规则,根据匹配规则对分析项目的代码路径、上报问题进行相应过滤。

filterconf

路径过滤

用于设定代码分析的范围,设定后,已经开启的代码检查、代码度量各项功能都会在指定的代码范围内生效。支持使用正则表达式语法。

示例:

代码目录:
|-src
  |- test
      |- main_test.py
      |- input_test.py
  |- main.py
|-test
  |- param_test.py
    
匹配src/test目录:src/test/.*
匹配根目录下的test目录:test/.*
匹配所有_test.py后缀的文件:.*_test\\.py

提示

修改后,下次分析生效,需要启动一次全量分析处理历史存量问题。

问题过滤

  • 问题忽略同步

    在平台对代码检查问题进行全局忽略后:

    1. 如开启,匹配的分析项目在发起全量分析后,相同的问题会被忽略,默认开启。

    2. 如关闭,相同的问题不会被忽略。

  • 过滤 GIT 子模块问题

    不上报对 Git 子模块代码进行分析发现的问题。

通知订阅

配置仓库分支、方案规则,根据匹配规则对分析项目执行完毕的成功、失败结果,进行邮件通知。

定时任务

可指定分析项目在对应节点资源环境内周期性执行代码分析,建议仅针对主干分支的项目进行周期性分析。

基础信息

可以配置代码库的基础信息,如代码库 SSH 地址、代码库授权凭证、代码库成员等。

合并请求

在合并请求列表页可以查看被阻塞的合并请求对应的分析任务,并支持强行取消阻塞。

mr_control_04

如何管控合并请求

参见管控合并请求

数据统计

与代码库维度相关的数据统计功能。

规则统计

统计当前代码库使用到的规则数据情况,可以了解规则处理率情况。想了解指定分析方案下的规则统计情况,请查看分析方案-数据统计-规则统计。

由于一个代码库有 N 个分支,不同分支可能使用不同的分析方案,因此可以根据业务需求采用不同的统计策略来计算规则数据:

  • 例如统计代码库默认分支,则可以得到指定统计周期下该代码库默认分支在使用不同分析方案后的规则统计数据。

  • 例如指定某个具体的分支,则可以得到指定统计周期下该代码库指定分支在使用不同分析方案后的规则统计数据。

  • 例如统计代码库全部分支,则可以得到指定统计周期下该代码库下全部分析项目的规则统计数据。

注意

进行规则统计时,针对某一规则,如果不同分析项目都使用该规则并发现问题,该规则的发现问题数是累加计算得到。

repo_rulestat_01

repo_rulestat_02

历史趋势分析

历史趋势分析可以度量该代码库在指定周期下的历史分析数据。

  • 代码库历史趋势概览

    代码库历史趋势概览

  • 提交人在该代码库的历史贡献

    repo_rulestat_02

  • 当月代码库分析概览

    repo_rulestat_03

最近更新时间: 2025/4/11 18:36
贡献者: nickctang, faberihe, cunlanluo
上一页
权限配置
下一页
分析方案