From ec7b00953f5bec7a6bb58e323e5b05a00c367216 Mon Sep 17 00:00:00 2001 From: tobegold574 <2386340403@qq.com> Date: Mon, 10 Nov 2025 20:35:05 +0800 Subject: [PATCH] =?UTF-8?q?fix(CI):=20=E6=94=B9=E8=BF=9BCI=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 减少IO和step数量 --- .drone.yml | 91 ++++++++++-------------------------------------------- 1 file changed, 17 insertions(+), 74 deletions(-) diff --git a/.drone.yml b/.drone.yml index 845b98b..282a341 100644 --- a/.drone.yml +++ b/.drone.yml @@ -21,13 +21,8 @@ steps: # 0️⃣ 克隆代码 - name: clone image: alpine/git:latest - environment: - CA_CRT: - from_secret: ca-crt commands: - apk add --no-cache ca-certificates - - echo "$CA_CRT" > /etc/ssl/certs/ca.crt - - update-ca-certificates - git clone https://gitea.local.knowai/tobegold574/knowai.git /drone/src - cd /drone/src - git checkout ${DRONE_BRANCH} @@ -36,90 +31,38 @@ steps: - name: repo-volume mountPath: /drone/src - # 1️⃣ 准备环境 - - name: prepare-environment + # 1️⃣ 验证 + 安装依赖 + 类型检查 + lint + 测试 + 构建 + - name: verify-and-build image: gitea.local.knowai/tobegold574/knowai-base:1.0.0 + environment: + NODE_ENV: development commands: - cd /drone/src/frontend/knowai-core - - echo "🚀 验证 Node.js 环境..." + + # 验证 Node.js 和 pnpm - node --version - pnpm --version - - echo "🔍 检查 pnpm 存储路径..." - - pnpm store path - - echo "🔍 检查项目结构..." - - ls -la - volumeMounts: - - name: repo-volume - mountPath: /drone/src + - echo "📦 安装依赖(利用缓存)..." + - pnpm install --frozen-lockfile --registry=https://registry.npmmirror.com - # 2️⃣ 安装依赖 - - name: install-dependencies - image: gitea.local.knowai/tobegold574/knowai-base:1.0.0 - commands: - - cd /drone/src/frontend/knowai-core - - echo "📦 安装项目依赖..." - - pnpm install --registry=https://registry.npmmirror.com --no-frozen-lockfile - - echo "✅ 依赖安装完成" - volumeMounts: - - name: repo-volume - mountPath: /drone/src - - name: pnpm_store_cache - mountPath: /pnpm-global/store - - # 3️⃣ 类型检查 - - name: type-check - image: gitea.local.knowai/tobegold574/knowai-base:1.0.0 - commands: - - cd /drone/src/frontend/knowai-core - - echo "🔍 执行 TypeScript 类型检查..." + # 执行核心验证 + - echo "🔍 TypeScript 类型检查..." - pnpm run type-check - - echo "✅ 类型检查通过" - volumeMounts: - - name: repo-volume - mountPath: /drone/src - - name: pnpm_store_cache - mountPath: /pnpm-global/store - # 4️⃣ 代码检查 - - name: lint - image: gitea.local.knowai/tobegold574/knowai-base:1.0.0 - commands: - - cd /drone/src/frontend/knowai-core - - echo "🔍 执行 ESLint 代码检查..." + - echo "🔍 ESLint 代码检查..." - pnpm run lint - - echo "✅ 代码检查通过" - volumeMounts: - - name: repo-volume - mountPath: /drone/src - - name: pnpm_store_cache - mountPath: /pnpm-global/store - # 5️⃣ 运行测试 - - name: test - image: gitea.local.knowai/tobegold574/knowai-base:1.0.0 - commands: - - cd /drone/src/frontend/knowai-core - echo "🧪 运行单元测试..." - pnpm run test - - echo "✅ 测试通过" - volumeMounts: - - name: repo-volume - mountPath: /drone/src - - name: pnpm_store_cache - mountPath: /pnpm-global/store - # 6️⃣ 构建验证 - - name: build - image: gitea.local.knowai/tobegold574/knowai-base:1.0.0 - commands: - - cd /drone/src/frontend/knowai-core - - echo "🔨 验证构建过程..." + - echo "🔨 构建产物..." - pnpm run build - - echo "📁 检查构建产物..." - ls -la dist/ - - echo "✅ 构建验证通过" + + - echo "✅ 核心验证通过" + volumeMounts: + - name: pnpm-store-cache + mountPath: /pnpm-global/store - name: repo-volume mountPath: /drone/src - - name: pnpm_store_cache - mountPath: /pnpm-global/store