This commit is contained in:
229
.drone.yml
229
.drone.yml
@@ -8,118 +8,127 @@ trigger:
|
|||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
|
||||||
volumes:
|
# volumes:
|
||||||
- name: pnpm-store-cache
|
# - name: pnpm-store-cache
|
||||||
emptyDir: {}
|
# emptyDir: {}
|
||||||
- name: repo-volume
|
# - name: repo-volume
|
||||||
emptyDir: {}
|
# emptyDir: {}
|
||||||
|
|
||||||
clone:
|
# clone:
|
||||||
disable: true
|
# 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:
|
steps:
|
||||||
# 0️⃣ 克隆代码(带自签证书)
|
- name: debug
|
||||||
- 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
|
image: gitea.local.knowai/tobegold574/knowai-base
|
||||||
commands:
|
commands:
|
||||||
- cd /drone/src/frontend/knowai-core
|
- echo "test"
|
||||||
- echo "🚀 验证 Node.js 和 pnpm 环境..."
|
- ls -la /
|
||||||
- node --version
|
- ls -la /drone
|
||||||
- pnpm --version
|
- ls -la /drone/src
|
||||||
- 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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user