仓库配置
分析项目
展示当前已创建的分析项目数据列表,并简要展示其执行代码分析后的概览数据,方便用户快速管理、进入到具体的分析项目内查阅代码质量情况。
基础配置
配置仓库分支、方案规则,根据匹配规则对分析项目的运行环境、环境变量、新问题基线、合流管控等进行相应配置。
运行环境:可指定该匹配规则下的分析项目执行分析时采用的节点资源环境;
环境变量:用于提供代码库在执行代码分析时所需的环境变量,如工具运行、代码编译相关环境变量;
新问题基线:可指定基线后的分析发现的问题为新问题;
管控合并请求:用于控制在代码分析后仅质量门禁通过才允许合入;
如何管控合并请求
参见管控合并请求
GIT 相关控制:可配置是否拉取GIT子模块、LFS等。
触发配置
配置仓库分支、方案规则,根据匹配规则监听代码库的代码提交事件、合并请求(MR/PR)事件,自动触发代码分析。
配置流程
创建触发配置,生成
webhook_url
和secret
;进入仓库托管平台对应代码库的 webhook 配置,配置对应的
webhook_url
和secret
即可。
支持的仓库托管平台
Github、腾讯工蜂、Gitee、Gitlab、私有化 Gitlab 等
配置示例
说明:以接入Github为例,其他平台同理
步骤1: 新建触发配置,根据使用指引,配置触发规则。
步骤2: 配置生效后效果如下截图,会生成一个对应的
webhook_url
和secret
。步骤3: 登录 Github,进入对应的仓库内,选择
settings → web hooks → add new webhook
(其他平台配置位置可能不同,但大同小异),将webhook_url
和secret
配置上去。触发事件处勾选push事件
和pull requests事件
。配置完毕: 之后该仓库对应配置规则的分支在发生
PUSH
和MR(PR)
时就会自动触发执行代码分析。
私有化 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,否则会导致访问不通!
过滤配置
配置仓库分支、方案规则,根据匹配规则对分析项目的代码路径、上报问题进行相应过滤。
路径过滤
用于设定代码分析的范围,设定后,已经开启的代码检查、代码度量各项功能都会在指定的代码范围内生效。支持使用正则表达式语法。
示例:
代码目录:
|-src
|- test
|- main_test.py
|- input_test.py
|- main.py
|-test
|- param_test.py
匹配src/test目录:src/test/.*
匹配根目录下的test目录:test/.*
匹配所有_test.py后缀的文件:.*_test\\.py
提示
修改后,下次分析生效,需要启动一次全量分析处理历史存量问题。
问题过滤
问题全局忽略
仅对代码检查生效。针对分析项目问题数据进行全局忽略后,该配置对应匹配的其他分析项目发现相同的问题时会同步忽略。
过滤 GIT 子模块问题
不上报对 Git 子模块代码进行分析发现的问题。
通知订阅
配置仓库分支、方案规则,根据匹配规则对分析项目执行完毕的成功、失败结果,进行邮件通知。
定时任务
可指定分析项目在对应节点资源环境内周期性执行代码分析,建议仅针对主干分支的项目进行周期性分析。
基础信息
可以配置代码库的基础信息,如代码库 SSH 地址
、代码库授权凭证
、代码库成员
等。
合并请求
在合并请求列表页可以查看被阻塞的合并请求对应的分析任务,并支持强行取消阻塞。
如何管控合并请求
参见管控合并请求
数据统计
与代码库维度相关的数据统计功能。
规则统计
统计当前代码库使用到的规则数据情况,可以了解规则处理率情况。想了解指定分析方案下的规则统计情况,请查看分析方案-数据统计-规则统计。
由于一个代码库有 N 个分支,不同分支可能使用不同的分析方案,因此可以根据业务需求采用不同的统计策略来计算规则数据:
例如统计代码库默认分支,则可以得到指定统计周期下该代码库默认分支在使用不同分析方案后的规则统计数据。
例如指定某个具体的分支,则可以得到指定统计周期下该代码库指定分支在使用不同分析方案后的规则统计数据。
例如统计代码库全部分支,则可以得到指定统计周期下该代码库下全部分析项目的规则统计数据。
注意
进行规则统计时,针对某一规则,如果不同分析项目都使用该规则并发现问题,该规则的发现问题数是累加计算得到。
历史趋势分析
历史趋势分析可以度量该代码库在指定周期下的历史分析数据。
代码库历史趋势概览
提交人在该代码库的历史贡献
当月代码库分析概览