This repository was archived by the owner on Feb 10, 2025. It is now read-only.
File tree 1 file changed +42
-14
lines changed
1 file changed +42
-14
lines changed Original file line number Diff line number Diff line change 1
1
# build front-end
2
- FROM node:lts-alpine AS builder
2
+ FROM node:lts-alpine AS frontend
3
+
4
+ RUN npm install pnpm -g
3
5
4
- COPY ./ /app
5
6
WORKDIR /app
6
7
7
- RUN apk add --no-cache git \
8
- && npm install pnpm -g \
9
- && pnpm install \
10
- && pnpm run build \
11
- && rm -rf /root/.npm /root/.pnpm-store /usr/local/share/.cache /tmp/*
8
+ COPY ./package.json /app
9
+
10
+ COPY ./pnpm-lock.yaml /app
11
+
12
+ RUN pnpm install
13
+
14
+ COPY . /app
15
+
16
+ RUN pnpm run build
17
+
18
+ # build backend
19
+ FROM node:lts-alpine as backend
20
+
21
+ RUN npm install pnpm -g
22
+
23
+ WORKDIR /app
24
+
25
+ COPY /service/package.json /app
26
+
27
+ COPY /service/pnpm-lock.yaml /app
28
+
29
+ RUN pnpm install
30
+
31
+ COPY /service /app
32
+
33
+ RUN pnpm build
12
34
13
35
# service
14
36
FROM node:lts-alpine
15
37
16
- COPY /service /app
17
- COPY --from=builder /app/dist /app/public
38
+ RUN npm install pnpm -g
18
39
19
40
WORKDIR /app
20
- RUN apk add --no-cache git \
21
- && npm install pnpm -g \
22
- && pnpm install --only=production \
23
- && rm -rf /root/.npm /root/.pnpm-store /usr/local/share/.cache /tmp/*
24
41
42
+ COPY /service/package.json /app
43
+
44
+ COPY /service/pnpm-lock.yaml /app
45
+
46
+ RUN pnpm install --production && rm -rf /root/.npm /root/.pnpm-store /usr/local/share/.cache /tmp/*
47
+
48
+ COPY /service /app
49
+
50
+ COPY --from=frontend /app/dist /app/public
51
+
52
+ COPY --from=backend /app/build /app/build
25
53
26
54
EXPOSE 3002
27
55
28
- CMD ["pnpm" , "run" , "start " ]
56
+ CMD ["pnpm" , "run" , "prod " ]
You can’t perform that action at this time.
0 commit comments