插件配置
CNB - TCA 插件配置
如果代码是托管在 cnb.cool 上,可以使用 CNB 上的 TCA 插件,在云原生构建上使用代码分析。
一、快速分析
使用默认的代码安全分析规则包,无需配置分析方案,开箱即用。
- 将以下内容复制到 .cnb.yml 文件中,即可在 CNB 中触发快速分析。
# .cnb.yml
"**": # 触发的分支名,默认所有分支,可按需修改
push: # push 触发,可按需修改为 pull_request 等
- stages:
# 获取 git 变更文件列表,供 TCA 增量分析使用
- name: git-change-list
image: cnbcool/git-change-list:latest
settings:
changed: changed.txt # 将变更文件列表输出到txt文件中,供后续TCA使用
# 代码分析
- name: TCA
image: tencentcom/tca-plugin:latest
settings:
from_file: changed.txt # 默认只分析 git 变更文件,如果希望分析全量代码,可注释掉该参数
block: true # 如果有代码问题或分析异常,会阻塞流水线。如果不希望阻塞流水线,可以设置为false。
smtp_username: # 可选,邮件报告 - 发件人邮箱地址,建议使用QQ邮箱
smtp_auth_code: # 可选,邮件报告 - 邮件服务器的授权码,建议使用QQ邮箱授权码
receiver_email: # 可选,邮件报告 - 收件人邮箱地址
快速分析完成后,会在日志内打印出所有问题列表,也会在当前工作空间的
tca_report目录下输出JSON和HTML报告。pull_request触发的代码分析结果,会自动添加到合并请求评论。分析结果可发送到个人邮箱,请在
settings中添加以下参数:
smtp_username: 必填, 邮件服务器的登录名(即发件人邮箱地址,建议使用QQ邮箱)smtp_auth_code: 必填, 邮件服务器的授权码。如何获取QQ邮箱授权码?(如不希望暴露授权码,可配置在密钥仓库后引用,参考“深度分析”-“2.创建密钥仓库”)receiver_email: 必填, 收件人邮箱地址(如果有多个, 通过<list>格式填写),可以不限于QQ邮箱其他可选参数:
smtp_host: 可选,邮件服务器地址,默认使用QQ邮箱(smtp.qq.com)smtp_port: 可选,邮件服务器端口,默认为 465cc_receiver_email: 可选,抄送人邮箱地址,可以有多个,格式参考receiver_email
二、深度分析
- 深度分析支持自定义分析方案和质量门禁,持续跟踪代码问题,对代码进行综合分析和度量,涵盖代码安全、代码规范、代码功能、圈复杂度、重复率等指标,输出全方位图形化可视报告,轻松监管代码综合质量趋势。
- 该模式与TCA系统正常连接,默认是远端节点分析,通过参数
mode为local可调整为当地分析(数据和报告产出在当地,可自由使用)。
先在 TCA 上创建好团队和项目(如果已有,可忽略),并接入 CNB 代码仓库,可参考快速开始。
接入仓库后,进入代码库页面,并点击
插件配置,进入 TCA 插件配置弹框页,并选择CNB 云原生构建页签。
提示
密钥文件地址参见第3、4、5步骤,如果已存在该地址,可以跳过对应步骤,直接输入到密钥文件地址输入框即可!
插件所需的凭证信息为个人敏感信息,请注意保密!
在 cnb.cool 上创建一个新的代码仓库(仓库类型选择
密钥仓库,密钥仓库是仅允许页面查看和修改,适用于云原生构建加载密钥的仓库),比如:tca-private-config。
在密钥仓库中创建一个 yaml 文件,比如
tca-settings.yml,将第 2 步插件配置截图中的凭证信息拷贝到该文件中,并提交即可。点击了解文件引用文档。复制该密钥文件 URL 地址,粘贴到第 2 步插件配置截图中的
密钥文件地址输入框中,URL示例:https://cnb.cool/xxx/tca-private-config/-/blob/main/tca-settings.yml在
CNB 云原生构建页签选择需要使用的分析方案,如果没有,需要先创建,可参考分析方案。点击
生成 .cnb.yml TCA 插件配置按钮,进入 cnb.cool 对应的仓库根目录下,将生成的配置内容复制到.cnb.yml中(如果不存在,需要先创建.cnb.yml文件,点击了解更多)。到此插件已配置完毕。如需调整参数配置,可参见 TCA 插件。
Jenkins - TCA 插件配置
如果团队使用 Jenkins 作为构建工具,可以在 Jenkins 安装 TCA 插件,在 Jenkins CI 中使用代码分析。
安装指引
下载插件,链接如下:
进入
Jenkins页面,系统管理 -> 插件管理 -> Advanced settings,选择刚下载的 TCA 插件文件上传后部署。
使用指引
先在 TCA 上创建好
团队和项目(如果已有,可忽略),并接入代码仓库,可参考快速开始。接入仓库后,进入代码库页面,并点击
插件配置,进入 TCA 插件配置弹框页,并选择Jenkins 流水线页签。
点击
了解更多下载 jenkins 插件包在
Jenkins 流水线页签选择需要使用的分析方案,如果没有,需要先创建,可参考分析方案。点击
生成 Jenkinsfile TCA 插件配置按钮,复制配置信息,然后按需配置到代码库下的 Jenkinsfile或流水线 Script中:代码库 Jenkinsfile 配置
进入代码仓库根目录下,将生成的配置内容复制到
Jenkinsfile中(如果不存在,需要先创建Jenkinsfile文件,点击了解更多),在流水线中选择Pipeline script from SCM,并设置脚本路径为Jenkinsfile。流水线 Script 配置
进入
Jenkins 流水线,选择Pipeline script,将生成的配置内容复制到脚本中,并在代码分析步骤前拉取待扫描代码库,可以使用git或checkout插件下载。
到此插件已配置完毕。如需调整参数配置,可参考如下:
pipeline { agent any stages { // 拉取代码示例 stage ('拉取代码') { steps { git 'https://github.com/xxx.git' } } stage ('代码分析') { steps { tca ( // 必填参数 scmType: 'git', // 代码库类型 repoUrl: 'http://xxx', // 代码库地址 orgSid: 'xxx', // 团队编号,从TCA官网获取 teamName: 'xxx', // 项目名称,从TCA官网获取 schemeID: xxx, // 分析方案ID,从TCA官网获取 token: 'xxx', // 个人凭证信息(个人敏感信息,请注意保密!) // 选填参数 domain: 'xxx', // TCA URL,用于API请求和报告链接生成,默认为https://tca.tencent.com scanDir: '', // 需要分析的相对目录,指定代码仓库下的子目录作为分析目录,适用于大仓场景只分析某个模块目录,默认不配置,为扫描代码仓库根目录。 revision: '', // 分析版本号,可通过环境变量'{SCM}_COMMIT'设置(SCM可选[GIT]),默认不配置,为当前工作空间的代码版本 sourceBranch: '', // 分支名称,可通过环境变量'{SCM}_BRANCH'设置(SCM可选[GIT]),默认不配置,为当前工作空间的代码分支;如拉取代码时未指定分支,则该选项为必填 targetBranch: '' // 需要对比的目标分支名称,适用于MR场景,可通过环境变量'{SCM}_TARGET_BRANCH'设置(SCM可选[GIT]),默认为空 total: false, // 是否全量扫描,默认为 false,即增量扫描 continueOnThresholdNoPass: false, // 门禁不通过也不阻塞后续步骤,不勾选,默认阻塞后续步骤 // 本地分析参数 localScan: true, // 开启本地分析,不勾选,默认为节点分析 clientWorkspace: '', // 客户端工作空间,用于本地分析,默认为'~/tca_client' preCmd: '', // 前置命令(需要前置操作时使用),默认为空 buildCmd: '', // 编译命令(分析编译型语言时使用),默认为空 exclude: '', // 需要过滤的目录或文件(相对路径),多个路径用英文逗号(,)分隔,路径格式遵循python fnmatch语法,默认为空 include: '' // 指定只分析的目录或文件(相对路径),多个路径用英文逗号(,)分隔,路径格式遵循python fnmatch语法,默认为空 ) } } } }提示
可以按需将
tca步骤提取出来写入Jenkins 流水线的任意阶段中!插件参数详解:
- 必填参数和
domain通过tca插件配置页自动生成 revision和sourceBranch会通过本地git命令获取当前工作空间下代码库的版本和源分支,如果获取失败,需要用户自行配置,也可以通过环境变量设置- 插件只会在执行失败或者门禁不通过的情况下阻塞,设置
continueOnThresholdNoPass可以在门禁不通过的情况下也不阻塞流水线 localScan可开启本地分析,复用当前流水线执行环境,不再将任务发送到常驻节点;本地分析参数只有localScan=true才生效- 本地分析需要下载客户端,可以配置
clientWorkspace为客户端目录,固定该目录可以复用客户端,不用每次耗时下载 preCmd和buildCmd只有在分析方案有配置编译型工具的情况下使用- 本地分析默认超时时间为2h,可通过环境变量
TCA_LOCAL_TIMEOUT设置超时时间,单位为h
- 必填参数和
本地结果文件:
插件默认在当前工作空间下生成结果文件
tca_report.json,也可通过TCA_RESULT_FILE环境变量配置文件路径,结果文件包含以下内容:- status: success(成功)/failure(门禁不通过)/error(失败)
- status_code: 0(成功)/255(门禁不通过)/1(失败)
- text: 执行情况
- description: 详细结果
- url: 分析结果链接
- scan_report: 详细报告
- lintscan: 代码检查结果
- duplicatescan: 代码重复率结果
- cyclomaticcomplexityscan: 圈复杂度结果
- clocscan: 代码统计结果
- qualityscan: 门禁结果
VSCode - TCA 插件配置
安装指引
在Visual Studio Code插件市场中安装 “腾讯云代码分析” 插件。
安装成功后,侧边栏将出现腾讯云代码分析图标,点击可切换视图。
使用指引
先在 TCA 上创建好
团队和项目(如果已有,可忽略),接入待分析的代码仓库,按需求配置分析方案,创建分析项目。可参考快速开始。根据指引登录并配置插件。如需使用本地分析功能,需要预先在本地安装代码分析客户端。

配置完成后,即可在IDE内查看代码分析结果。

更多信息可参考团队 - IDE 插件页面,
IntelliJ IDEA - TCA 插件配置
安装指引
在Jetbrain IDEs 插件市场中安装 腾讯云代码分析 插件。
安装成功后,侧边栏将出现腾讯云代码分析图标,点击可切换视图。
使用指引
先在 TCA 上创建好
团队和项目(如果已有,可忽略),接入待分析的代码仓库,按需求配置分析方案,创建分析项目。可参考快速开始。根据指引登录并配置插件。如需使用本地分析功能,需要预先在本地安装代码分析客户端。



配置完成后,即可在IDE内查看代码分析结果

更多信息可参考团队 - IDE 插件页面,
TCA MCP 服务器
TCA MCP 服务器支持 MCP 协议,用于快速启动代码分析并获取代码分析报告。
TCA MCP 服务器已在 腾讯云 MCP 广场 托管,也可从 开源仓库 获取 TCA MCP 服务器源码。
使用指引
先在 TCA 上创建好
团队和项目(如果已有,可忽略),接入待分析的代码仓库,按需求配置分析方案,创建分析项目。可参考快速开始。在代码仓库中创建 tca-mcp.ini 配置文件
在需要代码分析的代码仓库中创建 tca-mcp.ini 配置文件。配置文件存储在代码仓库的根目录中,配置文件内容如下:
[config] org_sid=<org_sid> team_name=<team_name> repo_id=<repo_id> project_id=<project_id>相关参数可以从对应页面的路由中获取,如下图所示:

配置 TCA MCP 服务器
{ "mcpServers": { "tca-mcp-server": { "command": "npx", "args": ["-y", "-p", "tca-mcp-server@latest", "tca-mcp-stdio"], "env": { "TCA_TOKEN": "<TCA_TOKEN>", "TCA_USER_NAME": "<TCA_USER_NAME>" } } } }对应的 TCA_TOKEN 和 TCA_USER_NAME 从 个人中心 - 个人令牌 获取。