Client 客户端配置说明

TCA CLIENT 是用于执行代码分析的客户端,用户可根据团队需要,自由的选择使用客户端的方式进行代码分析。

  • CLIENT 本地分析。 可下载到本地,通过执行命令,在本地机器环境进行代码分析。

  • CLIENT 常驻节点分析。 可作为分布式常驻节点启动,将客户端放到对应公共或专有机器上,通过执行常驻命令,在公共/专有机器环境上进行代码分析。

客户端所需机器配置推荐

操作系统推荐配置
Linux8核16G内存,硬盘空间256G(可用空间不低于100G)
Mac8核16G内存,硬盘空间256G(可用空间不低于100G)
Windows8核16G内存,硬盘空间256G(可用空间不低于100G)

提示

以上为推荐配置,实际情况需要考虑扫描对象代码库的大小,按实际情况增加磁盘空间。

开源版客户端使用说明

使用Docker构建后使用

开源版客户端已支持通过Docker构建客户端镜像来进行代码分析。

提示

适用于快速上手体验。

使用docker运行,可以免去客户端环境依赖的安装,避免环境兼容性问题。

但是由于环境受限于docker,会无法复用本地的编译环境,部分需要编译的工具无法使用。

下载和安装Docker

参考Docker官方文档:Docker下载和安装在新窗口打开

构建docker镜像

client目录下,执行以下命令:docker build -t tca-client .

执行代码分析

参见 本地分析

通过源码使用

将开源版下载到本地或对应机器后,可安装客户端所需的相关环境的依赖后来进行代码分析。

提示

适用于深度体验,可以复用机器的编译环境,使用编译型代码分析工具。

可能会有系统环境兼容问题。

安装Python环境和第三方库

  • 预装 Python3.7、pip,支持 python3pip3 命令

  • 安装依赖:pip3 install -r client/requirements/app_reqs.pip

安装第三方工具

  • 进入到client/requirements目录

  • 在命令行中执行安装脚本

    # Linux 或 Mac 环境
    install.sh
    # Windows 环境
    install.bat
    

执行代码分析

参见 本地分析

开源版客户端其他配置说明

配置使用本地工具

提示

如果由于网络原因,执行时无法从github自动拉取工具,或拉取比较慢,可以预先下载好工具,配置使用本地工具目录。

  • 下载工具配置库 https://github.com/TCATools/puppy-tools-config.git ,存放到 client/data/tools目录下(如果未生成,可先创建该目录)。
  • 根据当前机器操作系统,查看puppy-tools-config目录下的linux_tools.inimac_tools.iniwindows_tools.ini文件,将[tool_url]中声明的所有工具下载到 client/data/tools目录下。
  • 填写client/config.ini中的配置:USE_LOCAL_TOOL=True,即可使用下载好的本地工具,不自动拉取和更新工具。

使用自建git server存放工具

提示

如果自己搭建了一套git server,可以将工具配置库 https://github.com/TCATools/puppy-tools-config.git 以及里面声明的工具仓库,存放到自建git serevr上。

  • 将工具配置库 https://github.com/TCATools/puppy-tools-config.git 上传到自建git仓库。
  • 按所需的操作系统,将puppy-tools-config仓库下的linux_tools.inimac_tools.iniwindows_tools.ini文件中[tool_url]声明的所有工具库,上传到自建git仓库。
  • 修改linux_tools.inimac_tools.iniwindows_tools.ini文件中[base_value]中的git_url为自建git server地址。
  • 修改client/config.ini中的TOOL_CONFIG_URL为自建git server的puppy-tools-config仓库地址。
  • 填写client/config.ini中的[TOOL_LOAD_ACCOUNT]配置,输入有拉取权限的用户名密码,即可使用自建git server拉取工具。

git lfs带宽和存储配额不够问题

如果git拉取工具时,出现git lfs拉取失败,可能是lfs带宽和存储配额不够,可以打开对应的工具github页面,通过Download ZIP的方式下载工具压缩包,再解压到client/data/tools目录下。