feat: improve docker layers (#803)
Via lockfile-first copy and better dockerignore
This commit is contained in:
parent
7991bee6ac
commit
75db48348a
|
|
@ -1,3 +1,10 @@
|
||||||
|
# Source-control & editors
|
||||||
|
.git
|
||||||
|
.github
|
||||||
|
.vscode
|
||||||
|
.idea
|
||||||
|
*.swp
|
||||||
|
|
||||||
files/
|
files/
|
||||||
dist/
|
dist/
|
||||||
logs/
|
logs/
|
||||||
|
|
@ -16,3 +23,7 @@ docker-manifest-unstable.tmpl
|
||||||
/frontend/node_modules/
|
/frontend/node_modules/
|
||||||
/frontend/.direnv
|
/frontend/.direnv
|
||||||
/frontend/dist
|
/frontend/dist
|
||||||
|
|
||||||
|
# OS
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|
|
||||||
10
Dockerfile
10
Dockerfile
|
|
@ -7,10 +7,14 @@ ENV PNPM_CACHE_FOLDER=.cache/pnpm/
|
||||||
ENV PUPPETEER_SKIP_DOWNLOAD=true
|
ENV PUPPETEER_SKIP_DOWNLOAD=true
|
||||||
ENV CYPRESS_INSTALL_BINARY=0
|
ENV CYPRESS_INSTALL_BINARY=0
|
||||||
|
|
||||||
COPY frontend/ ./
|
# First copy lockfile & manifest => they rarely change
|
||||||
|
COPY frontend/pnpm-lock.yaml frontend/package.json ./
|
||||||
RUN npm install -g corepack && corepack enable && \
|
RUN npm install -g corepack && corepack enable && \
|
||||||
pnpm install --frozen-lockfile --prefer-offline && \
|
pnpm fetch --prod # installs into cache only
|
||||||
|
|
||||||
|
# Copy the rest => invalidates only when code changes
|
||||||
|
COPY frontend/ ./
|
||||||
|
RUN pnpm install --frozen-lockfile --offline && \
|
||||||
pnpm run build
|
pnpm run build
|
||||||
|
|
||||||
FROM --platform=$BUILDPLATFORM ghcr.io/techknowlogick/xgo:go-1.23.x@sha256:d45f463381d025efa2fa0fb8617d2b04694e650bfd5d206ae1ef13d0c78fdea6 AS apibuilder
|
FROM --platform=$BUILDPLATFORM ghcr.io/techknowlogick/xgo:go-1.23.x@sha256:d45f463381d025efa2fa0fb8617d2b04694e650bfd5d206ae1ef13d0c78fdea6 AS apibuilder
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue