本期推荐的是一个腾讯开源的代码综合分析平台——TCA。
腾讯云代码分析(Tencent Cloud Code Analysis,简称TCA,内部曾用研发代号CodeDog)是一套代码综合分析平台,包含服务端、Web端和客户端三个组件,支持集成业界常见的代码分析工具。代码分析是通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行分析,验证代码是否满足规范性、安全性、可靠性、可维护性、部分性能等,对代码进行综合分析和度量等指标的一种代码分析技术。
TCA系统 可以帮助团队监控项目代码质量问题,发现重复和难以维护的代码并进行告警,同时开放API,支持与上下游系统对接,集成代码分析能力。
主要功能
- 语言支持:支持 Java/C++/Objective-C/C#/JavaScript/Python/Go/PHP 等数十种语言,覆盖常用编程语言
- 代码检查:通过代码检查精准跟踪管理发现的代码质量缺陷、代码规范、代码安全漏洞、无效代码等。目前已集成众多自研、知名开源分析工具,并采用了分层分离架构,可以满足团队快速自助管理工具
- 代码度量:支持代码圈复杂度、代码重复率和代码统计三个维度监控当前代码情况
- DevOps集成:客户端通过命令行启动方式,可以快速对接各个DevOps调度体系,并通过标准API接口对接上下游系统
部署使用
1 本地部署Server与Web,通过Docker-Compose
- 环境依赖
1. Docker
2. Docker-Compose >= 3.0
- 服务部署顺序
1. Server服务
2. Web服务
注:Docker-Compose部署脚本已包含 mysql 、 redis 服务部署操作
- 网络权限
需要开放80、8000端口的访问权限(80为TCA平台访问端口,8000为TCA Server访问端口)
- 服务部署
首次启动:
拉取代码并进入源码根目录后,执行 ./compose_init.sh 命令,即可启动Server与Web服务,注:
1. 代码地址:
https://github.com/Tencent/CodeAnalysis
2. 如果提示脚本没有执行权限,可以在源码执行命令: chmod +x compose_init.sh
3. 首次启动会构建相关镜像,耗时会比较久, compose_init.sh 脚本会包含各个服务的初始化操作
非首次启动:
进入源码目录后,执行 docker-compose up -d 命令,即可启动Server与Web服务
2 客户端配置
- 安装Python环境和第三方库
1. 预装Python3.7、pip,支持 python3 和 pip3 命令
2. 安装依赖: pip3 install -r
client/requirements/app_reqs.pip
- 安装第三方工具
1. 进入到 client/requirements 目录
2. 在命令行中执行安装脚本install.sh(linux/mac环境)或install.bat(windows环境)
- 配置client/config.ini文件
将<Server IP地址>替换成实际的serve ip(可包含端口号)
- 配置client/codedog.ini文件
1. 填写以下必填项,各字段获取方式,详见第三步接入腾讯云: token , org_sid (团队编号), team_name (项目名称), source_dir (本地代码目录)
2. 按需填写其他可选项,也可以不填,按默认配置执行
- 启动代码分析
1. 进入到 client 目录下
2. 执行命令: python3 codepuppy.py localscan
3 接入腾讯云
体验申请地址:
https://cloud.tencent.com/login?s_url=https%3A%2F%2Fcloud.tencent.com%2Fapply%2Fp%2F44ncv4hzp1
1. 配置项目
2. 创建团队,创建项目
3. 登记代码库
4. 创建分析方案,配置代码检测规则包
5. 获取codedog.ini相关字段
6. 查看结果
此项目使用Apache 2.0开源协议,开源部分为Server、Web与客户端,需要配合腾讯云使用。更多内容大家可自行前往阅读。