kind: pipeline type: kubernetes name: verify-knowai-core trigger: branch: - knowai-core event: - push # volumes: # - name: pnpm-store-cache # emptyDir: {} # - name: repo-volume # emptyDir: {} clone: disable: true # 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} # - echo "✅ 当前分支:$(git rev-parse --abbrev-ref HEAD)" # volumeMounts: # - name: repo-volume # mountPath: /drone/src # # 1️⃣ 准备环境(Node + pnpm) # - name: prepare-environment # image: gitea.local.knowai/tobegold574/knowai-base # commands: # - cd /drone/src/frontend/knowai-core # - echo "🚀 验证 Node.js 和 pnpm 环境..." # - node --version # - pnpm --version # - echo "🔍 检查 pnpm 存储路径..." # - pnpm store path # - echo "🔍 检查项目结构..." # - ls -la # volumeMounts: # - name: repo-volume # mountPath: /drone/src # # 2️⃣ 安装依赖 # - name: install-dependencies # image: gitea.local.knowai/tobegold574/knowai-base # commands: # - cd /drone/src/frontend/knowai-core # - echo "📦 安装依赖(利用缓存)..." # - pnpm install --frozen-lockfile --registry=https://registry.npmmirror.com # - 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 # commands: # - cd /drone/src/frontend/knowai-core # - echo "🔍 执行 TypeScript 类型检查..." # - pnpm run type-check # - echo "✅ 类型检查通过" # volumeMounts: # - name: repo-volume # mountPath: /drone/src # - name: pnpm-store-cache # mountPath: /pnpm-global/store # # 4️⃣ 代码检查 (Lint) # - name: lint # image: gitea.local.knowai/tobegold574/knowai-base # commands: # - cd /drone/src/frontend/knowai-core # - 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 # 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 # commands: # - cd /drone/src/frontend/knowai-core # - echo "🔨 构建产物..." # - pnpm run build # - echo "📁 构建产物列表:" # - ls -la dist/ # - echo "✅ 构建验证通过" # volumeMounts: # - name: repo-volume # mountPath: /drone/src # - name: pnpm-store-cache # mountPath: /pnpm-global/store steps: - name: debug image: gitea.local.knowai/tobegold574/knowai-base commands: - echo "test" - ls -la / - ls -la /drone - ls -la /drone/src