首次提交:初始化项目
This commit is contained in:
88
004-scripts/project-tools/project-status.sh
Executable file
88
004-scripts/project-tools/project-status.sh
Executable file
@@ -0,0 +1,88 @@
|
||||
#!/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 ""
|
||||
Reference in New Issue
Block a user