78 lines
2.1 KiB
Bash
78 lines
2.1 KiB
Bash
#!/bin/bash
|
||
# AI Code Quality Scanner 安装脚本
|
||
|
||
echo "========================================="
|
||
echo " AI Code Quality Scanner 安装脚本"
|
||
echo "========================================="
|
||
|
||
# 检查 Python 版本
|
||
if ! command -v python3 &> /dev/null; then
|
||
echo "❌ 错误: 未找到 Python3,请先安装 Python 3.8+"
|
||
exit 1
|
||
fi
|
||
|
||
PYTHON_VERSION=$(python3 -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
||
echo "✅ Python 版本: $PYTHON_VERSION"
|
||
|
||
# 创建虚拟环境(可选)
|
||
if [ ! -d "venv" ]; then
|
||
echo "📦 创建虚拟环境..."
|
||
python3 -m venv venv
|
||
fi
|
||
|
||
# 激活虚拟环境
|
||
source venv/bin/activate
|
||
|
||
# 安装依赖
|
||
echo "📦 安装 Python 依赖..."
|
||
pip install --upgrade pip
|
||
pip install -r requirements.txt
|
||
|
||
# 创建必要的目录
|
||
echo "📁 创建必要的目录..."
|
||
mkdir -p reports
|
||
mkdir -p /tmp/code_scanner_clones
|
||
|
||
# 检查并安装代码扫描工具(可选)
|
||
echo "🛠️ 检查代码扫描工具..."
|
||
|
||
# Pylint (Python)
|
||
if command -v pylint &> /dev/null || python -m pylint --version &> /dev/null; then
|
||
echo " ✅ Pylint 已安装"
|
||
else
|
||
echo " ⚠️ Pylint 未安装 (pip install pylint)"
|
||
fi
|
||
|
||
# Flake8 (Python)
|
||
if command -v flake8 &> /dev/null || python -m flake8 --version &> /dev/null; then
|
||
echo " ✅ Flake8 已安装"
|
||
else
|
||
echo " ⚠️ Flake8 未安装 (pip install flake8)"
|
||
fi
|
||
|
||
# Bandit (Python 安全扫描)
|
||
if command -v bandit &> /dev/null || python -m bandit --version &> /dev/null; then
|
||
echo " ✅ Bandit 已安装"
|
||
else
|
||
echo " ⚠️ Bandit 未安装 (pip install bandit)"
|
||
fi
|
||
|
||
# Node.js 和 npm (JavaScript 扫描)
|
||
if command -v node &> /dev/null; then
|
||
NODE_VERSION=$(node --version)
|
||
echo " ✅ Node.js 版本: $NODE_VERSION"
|
||
else
|
||
echo " ⚠️ Node.js 未安装 (JavaScript 扫描需要)"
|
||
fi
|
||
|
||
echo ""
|
||
echo "========================================="
|
||
echo " 安装完成!"
|
||
echo "========================================="
|
||
echo ""
|
||
echo "下一步操作:"
|
||
echo "1. 编辑 config.yaml 配置飞书机器人和 Gitea"
|
||
echo "2. 运行: python app.py"
|
||
echo "3. 在 Gitea 中配置 Webhook"
|
||
echo ""
|