chore: 更新测试工作流,增强 Docker 可用性检查和系统资源检查,优化输出信息以提高可读性和调试效率。

This commit is contained in:
Lyda
2025-08-20 13:33:34 +08:00
parent 22b3fd06b1
commit 482b6dad42

View File

@@ -66,24 +66,43 @@ jobs:
echo "Git 用户: $(git config --global user.name)"
echo "Git 邮箱: $(git config --global user.email)"
- name: 测试 Docker 功能
- name: 测试 Docker 可用性
run: |
echo "🐳 测试 Docker 功能..."
echo "🐳 测试 Docker 可用性..."
# 创建测试 Dockerfile
cat > Dockerfile.test << 'EOF'
FROM alpine:latest
RUN echo "Setup Environment Action Test" > /test.txt
CMD cat /test.txt
EOF
# 检查 Docker socket 连接
echo "🔍 检查 Docker socket 连接..."
if [[ -S /var/run/docker.sock ]]; then
echo "✅ Docker socket 文件存在"
ls -la /var/run/docker.sock
else
echo "❌ Docker socket 文件不存在"
exit 1
fi
# 构建测试镜像
docker build -f Dockerfile.test -t ${{ env.TEST_IMAGE }}:test .
# 测试 Docker daemon 连接
echo "🔗 测试 Docker daemon 连接..."
if ! docker info >/dev/null 2>&1; then
echo "❌ 无法连接到 Docker daemon"
echo "错误详情:"
docker info 2>&1 || true
exit 1
else
echo "✅ Docker daemon 连接正常"
fi
# 运行测试容器
docker run --rm ${{ env.TEST_IMAGE }}:test
# 测试镜像拉取功能
echo "📥 测试镜像拉取功能..."
if ! docker pull alpine:latest; then
echo "❌ 镜像拉取失败"
exit 1
else
echo "✅ 镜像拉取成功"
# 显示拉取的镜像信息
docker images alpine:latest
fi
echo "✅ Docker 功能测试通过"
echo "✅ Docker 可用性测试通过"
# Docker 专项测试
test-docker-only:
@@ -117,28 +136,29 @@ jobs:
docker version
docker info | grep -E "(Server Version|Storage Driver|Logging Driver)"
- name: 测试 Docker Buildx 功能
- name: 测试 Docker Buildx 可用性
run: |
echo "🔧 测试 Docker Buildx 功能..."
docker buildx version
echo "🔧 测试 Docker Buildx 可用性..."
# 检查 Docker 连接
if ! docker info >/dev/null 2>&1; then
echo "❌ Docker daemon 连接失败"
exit 1
fi
# 检查 Buildx 插件
if ! docker buildx version; then
echo "❌ Docker Buildx 不可用"
exit 1
else
echo "✅ Docker Buildx 可用"
fi
# 列出 Builder
echo "📋 当前 Builder 列表:"
docker buildx ls
# 创建多平台构建测试
cat > Dockerfile.multiarch << 'EOF'
FROM --platform=$TARGETPLATFORM alpine:latest
RUN echo "Platform: $TARGETPLATFORM" > /platform.txt
CMD cat /platform.txt
EOF
docker buildx build \
--platform linux/amd64 \
-f Dockerfile.multiarch \
-t ${{ env.TEST_IMAGE }}:multiarch \
--load \
.
docker run --rm ${{ env.TEST_IMAGE }}:multiarch
echo "✅ Docker Buildx 测试通过"
echo "✅ Docker Buildx 可用性测试通过"
# kubectl 专项测试
test-kubectl-only:
@@ -227,27 +247,27 @@ jobs:
curl -I https://mirrors.aliyun.com --connect-timeout 5 || echo "阿里云连接失败"
curl -I ${{ env.TEST_REGISTRY }}/v2/ --connect-timeout 5 || echo "私有仓库连接失败"
- name: 环境压力测试
- name: 系统资源检查
run: |
echo "🏋️ 环境压力测试..."
# 并发 Docker 操作测试
for i in {1..3}; do
(
echo "启动并发任务 $i..."
docker run --rm alpine:latest echo "任务 $i 完成"
) &
done
wait
echo "✅ 并发测试完成"
echo "📊 系统资源检查..."
# 磁盘空间检查
echo -e "\n💾 磁盘空间:"
echo "💾 磁盘空间:"
df -h /
# 内存使用检查
echo -e "\n🧠 内存使用:"
free -h
# Docker 连接状态检查
echo -e "\n🐳 Docker 连接状态:"
if docker info >/dev/null 2>&1; then
echo "✅ Docker 连接正常"
else
echo "❌ Docker 连接失败"
fi
echo "✅ 系统资源检查完成"
# 缓存测试
test-cache: