99 lines
2.5 KiB
YAML
99 lines
2.5 KiB
YAML
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
|
||
volumeMounts:
|
||
- name: repo-volume
|
||
mountPath: /drone/src
|
||
|
||
# 1️⃣ 准备环境
|
||
- name: prepare-environment
|
||
image: gitea.local.knowai/tobegold574/knowai-nuxt-base:1.0.0
|
||
commands:
|
||
- 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
|
||
- 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
|
||
- 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
|
||
- 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
|