freeleaps-ops/apps/gitea-webhook-ambassador-python/check_version.sh
Nicolas f6c515157c feat: 添加 Python 版本的 Gitea Webhook Ambassador
- 新增完整的 Python 实现,替代 Go 版本
- 添加 Web 登录界面和仪表板
- 实现 JWT 认证和 API 密钥管理
- 添加数据库存储功能
- 保持与 Go 版本一致的目录结构和启动脚本
- 包含完整的文档和测试脚本
2025-07-20 21:17:10 +08:00

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