Lighthouse本地部署TCA代码分析工具

| 2019-05-17

项目简介

官方文档是这样介绍的:
腾讯云代码分析(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


 
 

编辑:航网科技 来源:腾讯云 本文版权归原作者所有 转载请注明出处

在线客服

微信扫一扫咨询客服


全国免费服务热线
0755-36300002

返回顶部