container: rearrange operations for cache efficiency
This commit is contained in:
parent
8931bc708e
commit
10a1fb3364
1 changed files with 9 additions and 8 deletions
17
Dockerfile
17
Dockerfile
|
@ -2,22 +2,23 @@
|
||||||
FROM docker.io/node:20-alpine as build
|
FROM docker.io/node:20-alpine as build
|
||||||
WORKDIR /firefish
|
WORKDIR /firefish
|
||||||
|
|
||||||
|
# Copy only backend-rs pnpm-related files first, to cache efficiently
|
||||||
|
COPY package.json pnpm-workspace.yaml ./
|
||||||
|
COPY packages/backend-rs/package.json packages/backend-rs/package.json
|
||||||
|
COPY packages/backend-rs/npm/linux-x64-musl/package.json packages/backend-rs/npm/linux-x64-musl/package.json
|
||||||
|
COPY packages/backend-rs/npm/linux-arm64-musl/package.json packages/backend-rs/npm/linux-arm64-musl/package.json
|
||||||
|
|
||||||
# Install compilation dependencies
|
# Install compilation dependencies
|
||||||
RUN apk update && apk add --no-cache build-base linux-headers curl ca-certificates python3 perl
|
RUN apk update && apk add --no-cache build-base linux-headers curl ca-certificates python3 perl
|
||||||
RUN curl --proto '=https' --tlsv1.2 --silent --show-error --fail https://sh.rustup.rs | sh -s -- -y
|
RUN curl --proto '=https' --tlsv1.2 --silent --show-error --fail https://sh.rustup.rs | sh -s -- -y
|
||||||
ENV PATH="/root/.cargo/bin:${PATH}"
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
||||||
|
|
||||||
# Copy only backend-rs dependency-related files first, to cache efficiently
|
# Copy only backend-rs dependency-related files first, to cache efficiently
|
||||||
COPY package.json pnpm-workspace.yaml ./
|
COPY packages/macro-rs packages/macro-rs/
|
||||||
COPY packages/backend-rs/package.json packages/backend-rs/package.json
|
COPY packages/backend-rs/src/lib.rs packages/backend-rs/src/
|
||||||
COPY packages/backend-rs/npm/linux-x64-musl/package.json packages/backend-rs/npm/linux-x64-musl/package.json
|
COPY packages/backend-rs/Cargo.toml packages/backend-rs/Cargo.toml
|
||||||
COPY packages/backend-rs/npm/linux-arm64-musl/package.json packages/backend-rs/npm/linux-arm64-musl/package.json
|
|
||||||
|
|
||||||
COPY Cargo.toml Cargo.toml
|
COPY Cargo.toml Cargo.toml
|
||||||
COPY Cargo.lock Cargo.lock
|
COPY Cargo.lock Cargo.lock
|
||||||
COPY packages/backend-rs/Cargo.toml packages/backend-rs/Cargo.toml
|
|
||||||
COPY packages/backend-rs/src/lib.rs packages/backend-rs/src/
|
|
||||||
COPY packages/macro-rs packages/macro-rs/
|
|
||||||
|
|
||||||
# Configure pnpm, and install backend-rs dependencies
|
# Configure pnpm, and install backend-rs dependencies
|
||||||
RUN corepack enable && corepack prepare pnpm@latest --activate && pnpm --filter backend-rs install
|
RUN corepack enable && corepack prepare pnpm@latest --activate && pnpm --filter backend-rs install
|
||||||
|
|
Loading…
Reference in a new issue