kind: pipeline type: docker name: nodejs-deploy # 使用国内镜像加速 volumes: - name: node_modules host: path: /usr/local/blackend/node_modules - name: pnpm_cache host: path: /usr/local/blackend/pnpm_cache steps: - name: setup image: node:22-alpine depends_on: [clone] volumes: - name: node_modules path: /drone/src/node_modules - name: pnpm_cache path: /root/.local/share/pnpm/store commands: # 配置镜像源 - npm config set registry https://registry.npmmirror.com - npm install -g pnpm - pnpm config set registry https://registry.npmmirror.com # 安装pnpm # 安装依赖 - pnpm install - name: build image: node:22-alpine depends_on: [setup] volumes: - name: node_modules path: /drone/src/node_modules commands: # 构建项目 - pnpm run build # 运行测试 - pnpm test - name: deploy image: node:22-alpine depends_on: [build] commands: # 启动服务 - pnpm start environment: NODE_ENV: production PORT: 8001 # 触发条件 trigger: branch: - main - develop event: - push - pull_request