2026-01-09 17:31:28 +08:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
# DevOps 监听器启动脚本
|
|
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
2026-01-10 15:25:32 +08:00
|
|
|
|
VENV_PATH="$SCRIPT_DIR/path/to/venv"
|
2026-01-09 17:31:28 +08:00
|
|
|
|
|
|
|
|
|
|
echo "=========================================="
|
|
|
|
|
|
echo "RuoYi-Cloud DevOps 自动化部署系统"
|
|
|
|
|
|
echo "=========================================="
|
|
|
|
|
|
|
|
|
|
|
|
# 检查 Python 环境
|
|
|
|
|
|
if ! command -v python3 &> /dev/null; then
|
|
|
|
|
|
echo "错误: 未找到 python3"
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2026-01-10 15:25:32 +08:00
|
|
|
|
# 检测操作系统
|
|
|
|
|
|
OS_TYPE="$(uname -s)"
|
|
|
|
|
|
echo "检测到操作系统: $OS_TYPE"
|
|
|
|
|
|
|
|
|
|
|
|
# 如果是 macOS,设置虚拟环境
|
|
|
|
|
|
if [[ "$OS_TYPE" == "Darwin" ]]; then
|
|
|
|
|
|
echo "macOS 系统,配置虚拟环境..."
|
|
|
|
|
|
|
|
|
|
|
|
# 检查虚拟环境是否存在
|
|
|
|
|
|
if [ ! -f "$VENV_PATH/bin/activate" ]; then
|
|
|
|
|
|
echo "虚拟环境不存在,创建虚拟环境: $VENV_PATH"
|
|
|
|
|
|
python3 -m venv "$VENV_PATH"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# 激活虚拟环境
|
|
|
|
|
|
echo "激活虚拟环境: $VENV_PATH"
|
|
|
|
|
|
source "$VENV_PATH/bin/activate"
|
|
|
|
|
|
echo "✓ 虚拟环境已激活"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2026-01-09 17:46:00 +08:00
|
|
|
|
# 检查依赖(如果在虚拟环境中,跳过系统级安装)
|
|
|
|
|
|
if [ -z "$VIRTUAL_ENV" ]; then
|
|
|
|
|
|
echo "检查 Python 依赖..."
|
|
|
|
|
|
if ! python3 -c "import yaml" 2>/dev/null; then
|
|
|
|
|
|
echo "警告: 未找到 PyYAML,尝试安装..."
|
|
|
|
|
|
pip3 install --user PyYAML || echo "请手动安装: pip3 install --user PyYAML"
|
|
|
|
|
|
fi
|
2026-02-03 15:53:59 +08:00
|
|
|
|
if ! python3 -c "import flask" 2>/dev/null; then
|
|
|
|
|
|
echo "警告: 未找到 Flask,尝试安装..."
|
|
|
|
|
|
pip3 install --user flask || echo "请手动安装: pip3 install --user flask"
|
|
|
|
|
|
fi
|
2026-01-09 17:46:00 +08:00
|
|
|
|
else
|
|
|
|
|
|
echo "检测到虚拟环境: $VIRTUAL_ENV"
|
|
|
|
|
|
if ! python3 -c "import yaml" 2>/dev/null; then
|
|
|
|
|
|
echo "安装 PyYAML..."
|
|
|
|
|
|
pip install PyYAML
|
|
|
|
|
|
fi
|
2026-02-03 15:53:59 +08:00
|
|
|
|
if ! python3 -c "import flask" 2>/dev/null; then
|
|
|
|
|
|
echo "安装 Flask..."
|
|
|
|
|
|
pip install flask
|
|
|
|
|
|
fi
|
2026-01-09 17:46:00 +08:00
|
|
|
|
fi
|
2026-01-09 17:31:28 +08:00
|
|
|
|
|
|
|
|
|
|
# 进入项目根目录
|
|
|
|
|
|
cd "$PROJECT_ROOT"
|
|
|
|
|
|
|
|
|
|
|
|
# 启动监听器
|
|
|
|
|
|
echo "启动 Git 监听器..."
|
|
|
|
|
|
python3 .devops/monitor.py "$@"
|