55 lines
2.0 KiB
Bash
Executable File
55 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "========================================="
|
|
echo "🔍 实时监控 CI/CD 执行 (每 10 秒刷新)"
|
|
echo "========================================="
|
|
echo "按 Ctrl+C 停止监控"
|
|
echo ""
|
|
sleep 2
|
|
|
|
while true; do
|
|
clear
|
|
echo "========================================="
|
|
echo "🚀 CI/CD 执行状态监控"
|
|
echo "========================================="
|
|
date "+%Y-%m-%d %H:%M:%S"
|
|
echo ""
|
|
|
|
echo "📦 GitHub Actions Runner:"
|
|
kubectl get pods -n github-runner -o wide | grep -E "NAME|runner"
|
|
echo ""
|
|
|
|
echo "🔨 当前正在执行的任务:"
|
|
RUNNER_POD=$(kubectl get pods -n github-runner -o name | grep runner | head -1 | cut -d'/' -f2)
|
|
if [ -n "$RUNNER_POD" ]; then
|
|
kubectl logs -n github-runner "$RUNNER_POD" -c runner --tail=5 2>&1 | grep -E "Running job|Finished|Starting" || echo " 等待任务分配..."
|
|
else
|
|
echo " 无 runner pod 运行"
|
|
fi
|
|
echo ""
|
|
|
|
echo "🐳 Registry 镜像数量:"
|
|
REPO_COUNT=$(curl -s -u admin:admin123 http://localhost:5000/v2/_catalog 2>/dev/null | jq -r '.repositories | length' 2>/dev/null || echo "0")
|
|
echo " 已推送镜像仓库数: $REPO_COUNT"
|
|
|
|
if [ "$REPO_COUNT" -gt 0 ]; then
|
|
echo ""
|
|
echo "📋 Registry 中的镜像:"
|
|
curl -s -u admin:admin123 http://localhost:5000/v2/_catalog 2>/dev/null | jq -r '.repositories[]' | while read repo; do
|
|
TAGS=$(curl -s -u admin:admin123 "http://localhost:5000/v2/$repo/tags/list" 2>/dev/null | jq -r '.tags[]?' | head -3 | tr '\n' ', ' | sed 's/,$//')
|
|
echo " └─ $repo: $TAGS"
|
|
done
|
|
fi
|
|
echo ""
|
|
|
|
echo "📊 K3s 部署状态 (ljwx-health namespace):"
|
|
kubectl get deployments -n ljwx-health 2>/dev/null | grep -E "NAME|ljwx" || echo " 部署尚未更新"
|
|
echo ""
|
|
|
|
echo "========================================="
|
|
echo "⏰ 每 10 秒自动刷新 | 按 Ctrl+C 退出"
|
|
echo "========================================="
|
|
|
|
sleep 10
|
|
done
|