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 ""
|