fix(CI): 改进CI脚本
Some checks failed
continuous-integration/drone/push Build is failing

- 减少IO和step数量
This commit is contained in:
tobegold574
2025-11-10 20:35:05 +08:00
parent 6a81b7bb13
commit ec7b00953f

View File

@@ -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