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: build-docker image: plugins/docker settings: dockerfile: Dockerfile repo: your-registry/nodejs-app tags: - latest - ${DRONE_COMMIT_SHA:0:8} registry: registry.cn-hangzhou.aliyuncs.com # 替换为您的镜像仓库地址 username: from_secret: docker_username password: from_secret: docker_password volumes: - name: node_modules path: /drone/src/node_modules - name: pnpm_cache path: /root/.local/share/pnpm/store - name: deploy image: docker commands: - docker stop nodejs-app || true - docker rm nodejs-app || true - > docker run -d --name nodejs-app --restart always -p 8001:8001 -v /usr/local/blackend/node_modules:/app/node_modules -v /usr/local/blackend/pnpm_cache:/root/.local/share/pnpm/store -e NODE_ENV=production -e PORT=8001 your-registry/nodejs-app:latest volumes: - name: docker_sock path: /var/run/docker.sock volumes: - name: docker_sock host: path: /var/run/docker.sock trigger: branch: - main - develop event: - push - pull_request