Files
knowai/.drone.yml

103 lines
2.7 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

kind: pipeline
type: kubernetes
name: verify-nuxt-config
trigger:
branch:
- architecture-nuxt3
event:
- push
environment:
NUXT_PORT: 3000
HEALTH_CHECK_TIMEOUT: 30
volumes:
- name: node_modules_cache
emptyDir: {}
- name: repo-volume
emptyDir: {}
clone:
disable: true
steps:
# 0⃣ clone代码覆盖
- 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
- echo "📂 当前目录结构:"
- ls -al /drone/src
- cd /drone/src/knowai-nuxt || echo "⚠️ 目录不存在"
volumeMounts:
- name: repo-volume
mountPath: /drone/src
# 1⃣ 准备环境
- name: prepare-environment
image: gitea.local.knowai/tobegold574/knowai-nuxt-base:1.0.0
commands:
- cd /drone/src/knowai-nuxt
- echo "🚀 验证Nuxt基础环境..."
- node --version
- npm --version
- npx nuxt --version || true
volumeMounts:
- name: repo-volume
mountPath: /drone/src
# 2⃣ 安装依赖
- name: install-dependencies
image: gitea.local.knowai/tobegold574/knowai-nuxt-base:1.0.0
commands:
- cd /drone/src/knowai-nuxt
- echo "📦 安装项目依赖..."
- npm ci --prefer-offline --progress=false
- echo "✅ 依赖安装完成"
volumeMounts:
- name: repo-volume
mountPath: /drone/src
- name: node_modules_cache
mountPath: /drone/src/node_modules
# 3⃣ 构建验证
- name: build-verification
image: gitea.local.knowai/tobegold574/knowai-nuxt-base:1.0.0
commands:
- cd /drone/src/knowai-nuxt
- echo "🔨 验证构建过程..."
- npm run build
- echo "✅ 构建验证通过"
volumeMounts:
- name: repo-volume
mountPath: /drone/src
- name: node_modules_cache
mountPath: /drone/src/node_modules
# 4⃣ 启动服务并检查运行状态
- name: service-start-check
image: gitea.local.knowai/tobegold574/knowai-nuxt-base:1.0.0
commands:
- cd /drone/src/knowai-nuxt
- echo "🌐 启动 Nuxt 服务..."
- npm run start &
- sleep 10
- |
if ps aux | grep -v grep | grep "nuxt" > /dev/null; then
echo "✅ Nuxt 服务启动成功"
else
echo "❌ Nuxt 服务启动失败"
exit 1
volumeMounts:
- name: repo-volume
mountPath: /drone/src
- name: node_modules_cache
mountPath: /drone/src/node_modules