build(docker): 重构 Dockerfile 并简化 CI 流程

- 重构 Dockerfile,使用多阶段构建以减小最终镜像大小
- 更新 .drone.yml,使用单一步骤完成构建和推送
- 移除不必要的依赖和配置,简化构建过程
- 设置生产环境变量和端口
This commit is contained in:
lixin 2025-01-10 14:40:49 +08:00
parent d42c83c9e9
commit 29da78dcca
2 changed files with 15 additions and 10 deletions

View File

@ -3,19 +3,22 @@ type: docker
name: default
steps:
- name: build-and-push
- name: build
image: plugins/docker
settings:
repo: your-registry/automated-api
dockerfile: Dockerfile
dry_run: true
repo: automated-api
tags:
- latest
- ${DRONE_COMMIT_SHA:0:8}
registry: your-registry
trigger:
branch:
- main
- dev-2.0.0
event:
- push
volumes:
- name: docker
host:
path: /var/run/docker.sock

View File

@ -1,12 +1,13 @@
# 构建阶段
FROM node:18-alpine as builder
FROM node:18-alpine AS builder
WORKDIR /app
COPY package.json .
COPY package-lock.json* .
RUN npm install
RUN npm config set registry https://registry.npmmirror.com/ && \
npm install
COPY . .
@ -21,7 +22,8 @@ COPY --from=builder /app/dist ./dist
COPY --from=builder /app/package.json .
COPY --from=builder /app/bootstrap.js .
RUN npm install --production
RUN npm config set registry https://registry.npmmirror.com/ && \
npm install --production
ENV NODE_ENV=production
ENV PORT=8001