kind: pipeline type: docker name: venue_reservation_manage steps: - name: prepare image: node:18-alpine volumes: - name: node-model path: /app/model - name: node-cache path: /app/cache - name: node-build path: /app/build commands: - npm install -g pnpm - pnpm config set store-dir /app/model - pnpm config set registry https://registry.npmjs.org # 检查是否存在 pnpm-lock.yaml,不存在则生成 - | if [ ! -f "pnpm-lock.yaml" ]; then echo "pnpm-lock.yaml 不存在,正在生成..." pnpm install --lockfile-only fi - pnpm install --frozen-lockfile - pnpm run build - cp -r dist /app/build/ - cp Dockerfile /app/build/ - cp default.conf /app/build/ - cp run.sh /app/build/ - name: build image: plugins/docker volumes: - name: node-build path: /app/build - name: docker path: /var/run/docker.sock settings: dockerfile: /app/build/Dockerfile commands: - cd /app/build - chmod +x run.sh - sh run.sh - docker ps volumes: - name: node-build host: path: /home/docker/drone/node/build - name: node-model host: path: /home/docker/drone/node/model - name: node-cache host: path: /home/docker/drone/node/cache - name: docker host: path: /var/run/docker.sock