插件配置
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。
- 快速分析完成后,会在日志内打印出所有问题列表,也会在当前工作空间的
tca_report
目录下输出JSON
和HTML
报告。
二、深度分析
- 深度分析支持自定义分析方案和质量门禁,持续跟踪代码问题,对代码进行综合分析和度量,涵盖代码安全、代码规范、代码功能、圈复杂度、重复率等指标,输出全方位图形化可视报告,轻松监管代码综合质量趋势。
- 该模式与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 插件。
# .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-settings.yml
提示
生成的插件配置,触发条件默认为所有分支
push
触发,可按需调整,其他插件参数可参见 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: '', // 需要分析的相对目录,指定代码仓库下的子目录作为分析目录,适用于大仓场景只分析某个模块目录,默认不配置,为扫描代码仓库根目录。 total: false, // 是否全量扫描,默认为 false,即增量扫描 revision: '', // 分析版本号,可通过环境变量'{SCM}_COMMIT'设置(SCM可选[GIT]),默认不配置,为当前工作空间的代码版本 sourceBranch: '', // 分支名称,可通过环境变量'{SCM}_BRANCH'设置(SCM可选[GIT]),默认不配置,为当前工作空间的代码分支;如拉取代码时未指定分支,则该选项为必填 targetBranch: '' // 需要对比的目标分支名称,适用于MR场景,可通过环境变量'{SCM}_TARGET_BRANCH'设置(SCM可选[GIT]),默认为空 ) } } } }
提示
可以按需将
tca
步骤提取出来写入Jenkins 流水线
的任意阶段中!
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_USER_NAME": "<TCA_USER_NAME>", "TCA_TOKEN": "<TCA_TOKEN>" } } } }
对应的 TCA_TOKEN 和 TCA_USER_NAME 从 个人中心 - 个人令牌 获取。