- 新增完整的 Python 实现,替代 Go 版本 - 添加 Web 登录界面和仪表板 - 实现 JWT 认证和 API 密钥管理 - 添加数据库存储功能 - 保持与 Go 版本一致的目录结构和启动脚本 - 包含完整的文档和测试脚本
133 lines
4.1 KiB
Bash
Executable File
133 lines
4.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Gitea Webhook Ambassador - 版本检查脚本
|
|
# 用于区分 Go 版本和 Python 版本
|
|
|
|
echo "🔍 检查 Gitea Webhook Ambassador 版本..."
|
|
|
|
# 检查端口 8000 (Python 版本默认端口)
|
|
echo "📡 检查端口 8000 (Python 版本)..."
|
|
if lsof -i :8000 > /dev/null 2>&1; then
|
|
PID=$(lsof -ti :8000)
|
|
PROCESS=$(ps -p $PID -o comm= 2>/dev/null)
|
|
echo "✅ 端口 8000 被占用 (PID: $PID, 进程: $PROCESS)"
|
|
|
|
# 检查是否是 Python 进程
|
|
if echo "$PROCESS" | grep -q "python\|uvicorn"; then
|
|
echo "🐍 检测到 Python 版本正在运行"
|
|
|
|
# 尝试访问 Python 版本的 API
|
|
if curl -s http://localhost:8000/api/health > /dev/null 2>&1; then
|
|
echo "✅ Python 版本 API 响应正常"
|
|
echo "🌐 访问地址: http://localhost:8000"
|
|
echo "📊 仪表板: http://localhost:8000/dashboard"
|
|
else
|
|
echo "⚠️ Python 版本进程存在但 API 无响应"
|
|
fi
|
|
else
|
|
echo "⚠️ 端口 8000 被其他进程占用"
|
|
fi
|
|
else
|
|
echo "❌ 端口 8000 未被占用 (Python 版本未运行)"
|
|
fi
|
|
|
|
echo ""
|
|
|
|
# 检查端口 8080 (Go 版本默认端口)
|
|
echo "📡 检查端口 8080 (Go 版本)..."
|
|
if lsof -i :8080 > /dev/null 2>&1; then
|
|
PID=$(lsof -ti :8080)
|
|
PROCESS=$(ps -p $PID -o comm= 2>/dev/null)
|
|
echo "✅ 端口 8080 被占用 (PID: $PID, 进程: $PROCESS)"
|
|
|
|
# 检查是否是 Go 进程
|
|
if echo "$PROCESS" | grep -q "gitea-webhook-ambassador"; then
|
|
echo "🚀 检测到 Go 版本正在运行"
|
|
|
|
# 尝试访问 Go 版本的 API
|
|
if curl -s http://localhost:8080/health > /dev/null 2>&1; then
|
|
echo "✅ Go 版本 API 响应正常"
|
|
echo "🌐 访问地址: http://localhost:8080"
|
|
else
|
|
echo "⚠️ Go 版本进程存在但 API 无响应"
|
|
fi
|
|
else
|
|
echo "⚠️ 端口 8080 被其他进程占用"
|
|
fi
|
|
else
|
|
echo "❌ 端口 8080 未被占用 (Go 版本未运行)"
|
|
fi
|
|
|
|
echo ""
|
|
|
|
# 检查 PID 文件
|
|
echo "📁 检查 PID 文件..."
|
|
|
|
# Python 版本 PID 文件
|
|
PYTHON_PID_FILE="/home/nicolas/freeleaps-ops/apps/gitea-webhook-ambassador-python/service.pid"
|
|
if [ -f "$PYTHON_PID_FILE" ]; then
|
|
PYTHON_PID=$(cat "$PYTHON_PID_FILE")
|
|
if ps -p $PYTHON_PID > /dev/null 2>&1; then
|
|
echo "✅ Python 版本 PID 文件存在 (PID: $PYTHON_PID)"
|
|
else
|
|
echo "⚠️ Python 版本 PID 文件存在但进程不存在"
|
|
fi
|
|
else
|
|
echo "❌ Python 版本 PID 文件不存在"
|
|
fi
|
|
|
|
# Go 版本 PID 文件 (如果存在)
|
|
GO_PID_FILE="/home/nicolas/freeleaps-ops/apps/gitea-webhook-ambassador/service.pid"
|
|
if [ -f "$GO_PID_FILE" ]; then
|
|
GO_PID=$(cat "$GO_PID_FILE")
|
|
if ps -p $GO_PID > /dev/null 2>&1; then
|
|
echo "✅ Go 版本 PID 文件存在 (PID: $GO_PID)"
|
|
else
|
|
echo "⚠️ Go 版本 PID 文件存在但进程不存在"
|
|
fi
|
|
else
|
|
echo "❌ Go 版本 PID 文件不存在"
|
|
fi
|
|
|
|
echo ""
|
|
|
|
# 总结
|
|
echo "📊 总结:"
|
|
echo "----------------------------------------"
|
|
|
|
PYTHON_RUNNING=false
|
|
GO_RUNNING=false
|
|
|
|
# 检查 Python 版本
|
|
if lsof -i :8000 > /dev/null 2>&1; then
|
|
PID=$(lsof -ti :8000)
|
|
PROCESS=$(ps -p $PID -o comm= 2>/dev/null)
|
|
if echo "$PROCESS" | grep -q "python\|uvicorn"; then
|
|
PYTHON_RUNNING=true
|
|
fi
|
|
fi
|
|
|
|
# 检查 Go 版本
|
|
if lsof -i :8080 > /dev/null 2>&1; then
|
|
PID=$(lsof -ti :8080)
|
|
PROCESS=$(ps -p $PID -o comm= 2>/dev/null)
|
|
if echo "$PROCESS" | grep -q "gitea-webhook-ambassador"; then
|
|
GO_RUNNING=true
|
|
fi
|
|
fi
|
|
|
|
if [ "$PYTHON_RUNNING" = true ] && [ "$GO_RUNNING" = true ]; then
|
|
echo "⚠️ 两个版本都在运行!"
|
|
echo "🐍 Python 版本: http://localhost:8000"
|
|
echo "🚀 Go 版本: http://localhost:8080"
|
|
elif [ "$PYTHON_RUNNING" = true ]; then
|
|
echo "✅ 当前运行: Python 版本"
|
|
echo "🌐 访问地址: http://localhost:8000"
|
|
elif [ "$GO_RUNNING" = true ]; then
|
|
echo "✅ 当前运行: Go 版本"
|
|
echo "🌐 访问地址: http://localhost:8080"
|
|
else
|
|
echo "❌ 没有检测到任何版本在运行"
|
|
fi
|
|
|
|
echo "----------------------------------------" |