change build logic

This commit is contained in:
Emily
2024-06-26 03:22:22 +02:00
parent 62f555f86f
commit 9a2cde0954
9 changed files with 302 additions and 26 deletions

View File

@@ -1,7 +1,43 @@
FROM node:21-alpine
ARG NODE_VERSION=21
FROM node:${NODE_VERSION}-alpine as base
ENV NODE_ENV=development
# Build stage
FROM base as build
RUN npm install -g pnpm
COPY --link broker/package.json broker/pnpm-lock.yaml home/app/
COPY --link shared/package.json shared/pnpm-lock.yaml /home/shared/
WORKDIR /home/app
COPY package.json pnpm-lock.yaml ./
RUN npm install -g pnpm && pnpm install --prod --frozen-lockfile
COPY ./dist /home/app/dist
RUN pnpm install --frozen-lockfile
WORKDIR /home/shared
RUN pnpm install --frozen-lockfile
COPY --link ../broker /home/app
COPY --link ../shared /home/shared
WORKDIR /home/app
RUN pnpm run build_all
RUN pnpm prune
# Final stage
FROM base
COPY --from=build /home/app /home/app
WORKDIR /home/app
EXPOSE ${PORT}
CMD ["node", "dist/broker/src/index.js"]
CMD ["node", "dist/app/src/index.js"]