mirror of
https://git.bjxgj.com/xgj/xgj-actions.git
synced 2025-10-14 06:33:37 +08:00
chore: 更新测试工作流,增强 Docker 可用性检查和系统资源检查,优化输出信息以提高可读性和调试效率。
This commit is contained in:
@@ -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:
|
||||
|
Reference in New Issue
Block a user