89 lines
3.8 KiB
Bash
Executable File
89 lines
3.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# 项目状态检查脚本
|
|
# 扫描仓库并显示项目状态、部署情况、文档完整性等
|
|
|
|
echo "╔════════════════════════════════════════════════════════════════╗"
|
|
echo "║ K3s Monorepo - 项目状态 ║"
|
|
echo "╚════════════════════════════════════════════════════════════════╝"
|
|
echo ""
|
|
|
|
# 检查已部署的应用
|
|
echo "📦 已部署应用:"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
|
|
if command -v kubectl &> /dev/null; then
|
|
kubectl get deployments -A 2>/dev/null | grep -E "(php-test|go01|wordpress|registry|n8n|gitea)" | \
|
|
awk '{printf " ✅ %-25s %-15s %s/%s replicas\n", $2, $1, $4, $3}' || echo " ⚠️ 无法获取部署信息"
|
|
else
|
|
echo " ⚠️ kubectl 未安装,无法检查部署状态"
|
|
fi
|
|
|
|
echo ""
|
|
echo "📱 应用项目:"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
|
|
# 检查每个应用目录
|
|
for dir in php-test go01 rails/*/ www; do
|
|
if [ -d "$dir" ]; then
|
|
name=$(basename "$dir")
|
|
readme=""
|
|
dockerfile=""
|
|
k8s=""
|
|
|
|
[ -f "$dir/README.md" ] && readme="📄" || readme=" "
|
|
[ -f "$dir/Dockerfile" ] && dockerfile="🐳" || dockerfile=" "
|
|
[ -d "$dir/k8s" ] || [ -f "$dir/k8s-deployment.yaml" ] && k8s="☸️ " || k8s=" "
|
|
|
|
printf " %-30s %s %s %s\n" "$name" "$readme" "$dockerfile" "$k8s"
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "🏗️ 基础设施服务:"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
|
|
for dir in k3s/*/; do
|
|
if [ -d "$dir" ]; then
|
|
name=$(basename "$dir")
|
|
yaml_count=$(find "$dir" -name "*.yaml" 2>/dev/null | wc -l)
|
|
printf " %-30s %2d YAML 文件\n" "$name" "$yaml_count"
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "🛠️ 平台工具:"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
|
|
for dir in traefik kuboard proxy; do
|
|
if [ -d "$dir" ]; then
|
|
yaml_count=$(find "$dir" -name "*.yaml" 2>/dev/null | wc -l)
|
|
printf " %-30s %2d YAML 文件\n" "$dir" "$yaml_count"
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "📊 统计信息:"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
|
|
total_yaml=$(find . -name "*.yaml" -type f 2>/dev/null | wc -l)
|
|
total_md=$(find . -name "*.md" -type f 2>/dev/null | wc -l)
|
|
total_sh=$(find . -name "*.sh" -type f 2>/dev/null | wc -l)
|
|
total_dockerfile=$(find . -name "Dockerfile" -type f 2>/dev/null | wc -l)
|
|
|
|
echo " YAML 配置文件: $total_yaml"
|
|
echo " Markdown 文档: $total_md"
|
|
echo " Shell 脚本: $total_sh"
|
|
echo " Dockerfile: $total_dockerfile"
|
|
|
|
echo ""
|
|
echo "💡 提示:"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
echo " 📄 = 有 README 文档"
|
|
echo " 🐳 = 有 Dockerfile"
|
|
echo " ☸️ = 有 Kubernetes 配置"
|
|
echo ""
|
|
echo " 查看详细信息: cat PROJECT-INDEX.md"
|
|
echo " 查看目录结构: ./scripts/project-tree.sh"
|
|
echo " 查看集群状态: make status"
|
|
echo ""
|