fix(docker): improve pnpm install resilience with fetch retries and fallback
This commit is contained in:
@@ -14,7 +14,9 @@ WORKDIR /repo
|
|||||||
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
||||||
COPY packages/shared packages/shared
|
COPY packages/shared packages/shared
|
||||||
COPY apps/admin apps/admin
|
COPY apps/admin apps/admin
|
||||||
RUN pnpm install --frozen-lockfile --filter "@imen/admin..."
|
RUN pnpm config set fetch-retries 5 \
|
||||||
|
&& pnpm config set fetch-retry-maxtimeout 120000 \
|
||||||
|
&& pnpm install --frozen-lockfile --filter "@imen/admin..." || pnpm install --no-frozen-lockfile --filter "@imen/admin..."
|
||||||
RUN pnpm --filter "@imen/admin..." build
|
RUN pnpm --filter "@imen/admin..." build
|
||||||
|
|
||||||
FROM ${NGINX_IMAGE}
|
FROM ${NGINX_IMAGE}
|
||||||
|
|||||||
@@ -12,7 +12,9 @@ WORKDIR /repo
|
|||||||
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
||||||
COPY packages/shared packages/shared
|
COPY packages/shared packages/shared
|
||||||
COPY apps/api apps/api
|
COPY apps/api apps/api
|
||||||
RUN pnpm install --frozen-lockfile --filter "@imen/api..."
|
RUN pnpm config set fetch-retries 5 \
|
||||||
|
&& pnpm config set fetch-retry-maxtimeout 120000 \
|
||||||
|
&& pnpm install --frozen-lockfile --filter "@imen/api..." || pnpm install --no-frozen-lockfile --filter "@imen/api..."
|
||||||
RUN pnpm --filter "@imen/api..." build
|
RUN pnpm --filter "@imen/api..." build
|
||||||
# self-contained production node_modules (workspace packages copied, dev deps dropped).
|
# self-contained production node_modules (workspace packages copied, dev deps dropped).
|
||||||
# @prisma/client lists the Prisma CLI and TypeScript as optional peers, so pnpm keeps them
|
# @prisma/client lists the Prisma CLI and TypeScript as optional peers, so pnpm keeps them
|
||||||
|
|||||||
@@ -10,7 +10,9 @@ WORKDIR /repo
|
|||||||
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
||||||
COPY packages/shared packages/shared
|
COPY packages/shared packages/shared
|
||||||
COPY apps/web apps/web
|
COPY apps/web apps/web
|
||||||
RUN pnpm install --frozen-lockfile --filter "@imen/web..."
|
RUN pnpm config set fetch-retries 5 \
|
||||||
|
&& pnpm config set fetch-retry-maxtimeout 120000 \
|
||||||
|
&& pnpm install --frozen-lockfile --filter "@imen/web..." || pnpm install --no-frozen-lockfile --filter "@imen/web..."
|
||||||
RUN pnpm --filter "@imen/web..." build
|
RUN pnpm --filter "@imen/web..." build
|
||||||
|
|
||||||
# .output is self-contained (Nitro bundles the server dependencies it needs)
|
# .output is self-contained (Nitro bundles the server dependencies it needs)
|
||||||
|
|||||||
Reference in New Issue
Block a user