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.name)"
|
||||||
echo "Git 邮箱: $(git config --global user.email)"
|
echo "Git 邮箱: $(git config --global user.email)"
|
||||||
|
|
||||||
- name: 测试 Docker 功能
|
- name: 测试 Docker 可用性
|
||||||
run: |
|
run: |
|
||||||
echo "🐳 测试 Docker 功能..."
|
echo "🐳 测试 Docker 可用性..."
|
||||||
|
|
||||||
# 创建测试 Dockerfile
|
# 检查 Docker socket 连接
|
||||||
cat > Dockerfile.test << 'EOF'
|
echo "🔍 检查 Docker socket 连接..."
|
||||||
FROM alpine:latest
|
if [[ -S /var/run/docker.sock ]]; then
|
||||||
RUN echo "Setup Environment Action Test" > /test.txt
|
echo "✅ Docker socket 文件存在"
|
||||||
CMD cat /test.txt
|
ls -la /var/run/docker.sock
|
||||||
EOF
|
else
|
||||||
|
echo "❌ Docker socket 文件不存在"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# 构建测试镜像
|
# 测试 Docker daemon 连接
|
||||||
docker build -f Dockerfile.test -t ${{ env.TEST_IMAGE }}:test .
|
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 专项测试
|
# Docker 专项测试
|
||||||
test-docker-only:
|
test-docker-only:
|
||||||
@@ -117,28 +136,29 @@ jobs:
|
|||||||
docker version
|
docker version
|
||||||
docker info | grep -E "(Server Version|Storage Driver|Logging Driver)"
|
docker info | grep -E "(Server Version|Storage Driver|Logging Driver)"
|
||||||
|
|
||||||
- name: 测试 Docker Buildx 功能
|
- name: 测试 Docker Buildx 可用性
|
||||||
run: |
|
run: |
|
||||||
echo "🔧 测试 Docker Buildx 功能..."
|
echo "🔧 测试 Docker Buildx 可用性..."
|
||||||
docker buildx version
|
|
||||||
|
# 检查 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
|
docker buildx ls
|
||||||
|
|
||||||
# 创建多平台构建测试
|
echo "✅ Docker Buildx 可用性测试通过"
|
||||||
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 测试通过"
|
|
||||||
|
|
||||||
# kubectl 专项测试
|
# kubectl 专项测试
|
||||||
test-kubectl-only:
|
test-kubectl-only:
|
||||||
@@ -227,27 +247,27 @@ jobs:
|
|||||||
curl -I https://mirrors.aliyun.com --connect-timeout 5 || echo "阿里云连接失败"
|
curl -I https://mirrors.aliyun.com --connect-timeout 5 || echo "阿里云连接失败"
|
||||||
curl -I ${{ env.TEST_REGISTRY }}/v2/ --connect-timeout 5 || echo "私有仓库连接失败"
|
curl -I ${{ env.TEST_REGISTRY }}/v2/ --connect-timeout 5 || echo "私有仓库连接失败"
|
||||||
|
|
||||||
- name: 环境压力测试
|
- name: 系统资源检查
|
||||||
run: |
|
run: |
|
||||||
echo "🏋️ 环境压力测试..."
|
echo "📊 系统资源检查..."
|
||||||
|
|
||||||
# 并发 Docker 操作测试
|
|
||||||
for i in {1..3}; do
|
|
||||||
(
|
|
||||||
echo "启动并发任务 $i..."
|
|
||||||
docker run --rm alpine:latest echo "任务 $i 完成"
|
|
||||||
) &
|
|
||||||
done
|
|
||||||
wait
|
|
||||||
echo "✅ 并发测试完成"
|
|
||||||
|
|
||||||
# 磁盘空间检查
|
# 磁盘空间检查
|
||||||
echo -e "\n💾 磁盘空间:"
|
echo "💾 磁盘空间:"
|
||||||
df -h /
|
df -h /
|
||||||
|
|
||||||
# 内存使用检查
|
# 内存使用检查
|
||||||
echo -e "\n🧠 内存使用:"
|
echo -e "\n🧠 内存使用:"
|
||||||
free -h
|
free -h
|
||||||
|
|
||||||
|
# Docker 连接状态检查
|
||||||
|
echo -e "\n🐳 Docker 连接状态:"
|
||||||
|
if docker info >/dev/null 2>&1; then
|
||||||
|
echo "✅ Docker 连接正常"
|
||||||
|
else
|
||||||
|
echo "❌ Docker 连接失败"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "✅ 系统资源检查完成"
|
||||||
|
|
||||||
# 缓存测试
|
# 缓存测试
|
||||||
test-cache:
|
test-cache:
|
||||||
|
Reference in New Issue
Block a user