🐋 ci: Optimize Dockerfile Caching (#8480)

* 🐳 chore(docker): optimize Docker npm dependency caching

* Update Dockerfile

---------

Co-authored-by: Danny Avila <danacordially@gmail.com>
This commit is contained in:
faustoFF 2025-08-13 03:00:59 +03:00 committed by GitHub
parent 007570b5c6
commit a199b87478
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -19,7 +19,12 @@ WORKDIR /app
USER node USER node
COPY --chown=node:node . . COPY --chown=node:node package.json package-lock.json ./
COPY --chown=node:node api/package.json ./api/package.json
COPY --chown=node:node client/package.json ./client/package.json
COPY --chown=node:node packages/data-provider/package.json ./packages/data-provider/package.json
COPY --chown=node:node packages/data-schemas/package.json ./packages/data-schemas/package.json
COPY --chown=node:node packages/api/package.json ./packages/api/package.json
RUN \ RUN \
# Allow mounting of these files, which have no default # Allow mounting of these files, which have no default
@ -29,7 +34,11 @@ RUN \
npm config set fetch-retry-maxtimeout 600000 ; \ npm config set fetch-retry-maxtimeout 600000 ; \
npm config set fetch-retries 5 ; \ npm config set fetch-retries 5 ; \
npm config set fetch-retry-mintimeout 15000 ; \ npm config set fetch-retry-mintimeout 15000 ; \
npm install --no-audit; \ npm ci --no-audit
COPY --chown=node:node . .
RUN \
# React client build # React client build
NODE_OPTIONS="--max-old-space-size=2048" npm run frontend; \ NODE_OPTIONS="--max-old-space-size=2048" npm run frontend; \
npm prune --production; \ npm prune --production; \