-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
36 lines (25 loc) · 891 Bytes
/
Dockerfile
File metadata and controls
36 lines (25 loc) · 891 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# syntax=docker/dockerfile:1
FROM node:22-alpine as pre-build
WORKDIR /app
COPY *.config.js .prettier* LICENSE README.md jest.* package.json package-lock.json suppressExperimentalWarnings.cjs tsconfig.json tsconfig.*.json ./
RUN NODE_ENV=development npm install
COPY src ./src
FROM pre-build AS ci-verify
ENV NODE_ENV development
CMD ["npm", "run", "verify"]
FROM pre-build AS ci-pack
COPY ci-pack.sh ./ci-pack.sh
RUN apk add jq
RUN chmod +x ci-pack.sh
VOLUME "/app/dist-pack"
ENV NODE_ENV development
CMD ["./ci-pack.sh"]
FROM node:20-alpine
WORKDIR /app
COPY --from=build /app/package.json ./package.json
COPY --from=build /app/package-lock.json ./package-lock.json
RUN npm install --omit=dev
COPY --from=build /app/dist ./dist
COPY --from=build /app/suppressExperimentalWarnings.cjs ./suppressExperimentalWarnings.cjs
ENV NODE_ENV production
ENTRYPOINT ["npm", "run", "start"]