diff --git a/.gitea/workflows/test-setup-env.yml b/.gitea/workflows/test-setup-env.yml index ba96cb3..d29bd54 100644 --- a/.gitea/workflows/test-setup-env.yml +++ b/.gitea/workflows/test-setup-env.yml @@ -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: