官网介绍:https://cloud.tencent.com/product/tcap 官方开源:https://github.com/Tencent/CodeAnalysis
国内镜像:https://git.code.tencent.com/Tencent_Open_Source/CodeAnalysis
▼
腾讯云原生构建(Cloud Native Build,简称 CNB)是腾讯新一代基于代码仓库的持续集成构建平台,它支持环境一致性、分支即环境、秒级启动、构建加速和开源协作等特性。这些特性使得开发者能够更加高效地进行软件开发,无论是持续集成、持续部署、持续交付、远程开发还是开源协作。
腾讯云代码分析(Tencent Cloud Code Analysis,简称 TCA)是一个云原生、分布式、高性能的代码综合分析跟踪平台,它支持静态代码分析、代码质量评估和安全漏洞扫描等功能。
TCA支持在腾讯云原生构建流程中使用,通过在代码库中增加.cnb.yml配置文件,即可启用代码分析插件,通过代码分析门禁把控代码质量。
▼
先在 TCA 上创建好团队和项目(如果已有,可忽略),并接入 CNB 代码仓库
TCA基础操作参考视频 腾讯云代码分析,公众号:腾讯云静态分析【腾讯云代码分析】功能讲解:了解代码分析和平台操作
接入仓库后,进入代码库页面,并点击插件配置,进入 TCA 插件配置弹框页,并选择CNB云原生构建页签。
提示:(1)密钥文件地址参见第3、4、5步骤,如果已存在该地址,可以跳过对应步骤,直接输入到密钥文件地址输入框即可!(2)插件所需的凭证信息为个人敏感信息,请注意保密!
在CNB上创建一个新的代码仓库(仓库类型选择密钥仓库,密钥仓库是仅允许页面查看和修改,适用于云原生构建加载密钥的仓库),比如:tca-private-config。
在密钥仓库中创建一个 yaml 文件,比如tca-settings.yml,将第 2 步插件配置截图中的凭证信息拷贝到该文件中,并提交即可。密钥仓库 yaml 文件参数示例如下
token: xxx # TCA 个人凭证信息(个人敏感信息,请注意保密!)。
allow_images:
# 设置可访问密钥的镜像,此处只允许 tca-plugin 镜像访问。
- "tencentcom/tca-plugin:latest"
allow_slugs:
# 设置可访问密钥的代码仓库,默认设置为当前仓库,如有多个仓库需要访问,可按需调整,支持glob表达式。
- "组织名/仓库名"
allow_events:
# 设置可访问密钥的触发事件,此处默认设置为全部,可按需修改为特定事件,支持glob表达式。
- "**"
复制该密钥文件 URL 地址,粘贴到第 2 步插件配置截图中的密钥文件地址输入框中,URL示例:https://cnb.cool/xxx/tca-private-config/-/blob/main/tca-settings.yml。
在CNB云原生构建页签选择需要使用的分析方案,如果没有,需要先创建。
点击生成 .cnb.yml TCA插件配置,进入CNB对应的仓库根目录下,将生成的配置内容复制到 .cnb.yml 中(如果不存在,需要先创建 .cnb.yml 文件)。
到此插件已配置完毕。
# .cnb.yml
"**": # 触发的分支名,默认所有分支,按需修改,例如 main 分支
push: # push触发,也可以用merge_request等触发
- stages:
# 代码分析插件
- name: TCA
image: tencentcom/tca-plugin:latest
settings:
org_sid: xxx # 团队编号,从TCA官网获取
team_name: xxx # 项目名称,从TCA官网获取
scheme_id: xxx # 分析方案ID,从TCA官网获取
scan_dir: "" # 填写目录的相对路径,指定代码仓库下的子目录作为扫描目录,适用于大仓场景只扫描某个模块目录,默认不配置,为扫描代码仓库根目录。
total_scan: false # 是否全量扫描,默认为 false,即增量扫描
settingsFrom:
# 密钥文件引用
- https://cnb.cool/xxx/tca-private-config/-/blob/main/tca-set
tings.yml
提示:生成的插件配置,触发条件默认为所有分支 push 触发,可按需调整。