Tencent/CodeAnalysis: Static Code Analysis (github.com)
在Github上闲逛,发现了TCA这个腾讯自家的项目,好奇点进去看了一下
官方文档是这样介绍的:
腾讯云代码分析(Tencent Cloud Code Analysis,简称TCA,内部曾用研发代号CodeDog)是一套代码综合分析平台,包含服务端、Web端和客户端三个组件,支持集成业界常见的代码分析工具,其主要功能是保障多工程项目敏捷迭代下的代码质量,以及支撑团队传承代码文化。
根据官方文档描述,TCA有如下关键功能:
语言支持:支持 Java/C++/Objective-C/C#/Javascript/Python/Go/PHP 等数十种语言,覆盖常用编程语言。
代码检查:通过代码检查精准跟踪管理发现的代码质量缺陷、代码规范、代码安全漏洞、无效代码等。目前已集成众多自研、知名开源分析工具,并采用了分层分离架构,可以满足团队快速自助管理工具。
代码度量:支持代码圈复杂度、代码重复率和代码统计三个维度监控当前代码情况。
DevOps集成:客户端通过命令行启动方式,可以快速对接各个DevOps调度体系,并通过标准API接口对接上下游系统
作为一款web端代码检测工具,官方说明文档说明该项目可以私有化部署,也支持docker,本次部署使用本地部署安装
安装部署:*** 作系统:CentOS 7.6
服务器:腾讯云Lighthouse 2C4G6M 广州三区
软件:ssh和ftp工具,这里我使用的是xshell和xftp
环境部署:
安装MySQL5.7# 安装 mysql yum源 wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm # 安装MySQL yum localinstall mysql57-community-release-el7-11.noarch.rpm yum install mysql-community-server # 启动MySQL systemctl start mysqld # 确认MySQL正常启动 systemctl status mysqld # 查看生成 MySQL root用户临时密码: grep 'temporary password' /var/log/mysqld.log # 修改root用户密码: # 连接MySQL服务 mysql -uroot -p # 输出上述查询到的临时密码 # 修改root用户的密码(下面是改成 Password@2021,这里根据自行需要进行调整): ALTER USER 'root'@'localhost' IDENTIFIED BY 'Password@2021';安装Redis
仅供参考,不适用于正式环境部署,正式环境建议使用专业的Redis服务(比如腾讯云的Redis产品)
# yum 安装 redis yum install redis # 修改redis密码 vim /etc/redis.conf # 找到 requirepass foobared# 复制一行并根据自己需要调整密码,比如 requirepass tca123 # 启动redis systemctl start redis # 查看redis运行状态 systemctl status redis # 访问redis redis-cli 127.0.0.1:6379> auth tca123 OK # 鉴权通过安装Python
# 下载Python安装包 wget https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz # 安装依赖组件 yum -y install wget zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel xz-devel # 解压到/usr/local/src目录 $ tar zvxf Python-3.7.12.tgz -C /usr/local/src cd /usr/local/src/Python-3.7.12 # 编译前配置 ./configure prefix=/usr/local/python3 --enable-shared # 编译构建 make -j8 # 安装Python make install # 清理编译产出的中间文件 make clean # 链接构建产出的Python可执行文件到/usr/local/bin目录 ln -s /usr/local/python3/bin/python3 /usr/local/bin/python # 链接构建产出的pip3可执行文件到/usr/local/bin目录 ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip # 链接构建产出的Python动态库 ln -s /usr/local/python3/lib/libpython3.7m.so.1.0 /usr/lib/libpython3.7m.so.1.0 # 配置动态库 ldconfig # 国内的云服务器,强烈建议更换为国内软件源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple安装Nginx
# yum安装ningx yum install nginx应用部署 启动Server端:
# 将文件上传到服务器并解压缩,CentOS内置了unzip # 将源码移动到data文件夹并重命名为/tca_open_source mv CodeAnalysis-main/ /data/ mv /data/CodeAnalysis-main /data/tca_open_source/ # 进入Server服务工作目录后(假设工作目录为/data/tca_open_source/server/,以下路径均为工作目录内的相对路径) cd /data/tca_open_source/server/ # 配置MySQL和Redis服务,初始化数据(MySQL版本运行版本:5.7)执行 vim ./scripts/config.sh # 填写数据库和Redis信息以及根据需要调整配置信息,主要的工程配置已提供默认值,字段说明可以查看文档 # MySQL的root密码为Password@2021,Redis密码为tca123 # 执行初始化DB、安装依赖和运行初始化脚本 ./scripts/deploy.sh init # 将安装好的celery与gunicorn可执行文件建立软链到/usr/local/bin路径下 ln -s /usr/local/python3/bin/celery /usr/local/bin/celery ln -s /usr/local/python3/bin/gunicorn /usr/local/bin/gunicorn # 环境变量生效 export PATH=/usr/local/bin:$PATH # 启动服务执行 ./scripts/deploy.sh start # 停止服务执行 ./scripts/deploy.sh stop
出现如图状态说明server端部署成功
启动web端#切换至tca-deploy-source的web目录,将其视为工作目录(假设工作目录为 cd /data/tca_open_source/web/tca-deploy-source # 执行初始化命令即可:设置默认的环境变量,安装前端资源,配置 hosts、nginx 等,启动 nginx 服务 sh init.sh -d
Web端也部署成功,可以使用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)