build: optimize Docker build by skipping redundant SPA build

Set SkipSpaBuild environment variable in Dockerfile to prevent MSBuild from rebuilding the frontend during publish, as it is already built in a separate stage. Also disable NuGet audit warnings to reduce build noise.
This commit is contained in:
2026-06-03 20:48:09 +03:30
parent f790f38696
commit ee98cef379
2 changed files with 4 additions and 1 deletions

View File

@@ -11,11 +11,14 @@ FROM mcr.microsoft.com/dotnet/sdk:9.0 AS backend-build
WORKDIR /src
COPY nuget.config ./
COPY backend.csproj ./
ENV DOTNET_NUGET_AUDIT=false
RUN dotnet nuget list source
RUN dotnet restore
COPY . .
# Copy the frontend build output from the previous stage
COPY --from=frontend-build /app/dist ./ClientApp/dist
# Skip the SPA build in MSBuild since it's already built in Stage 1
ENV SkipSpaBuild=true
RUN dotnet publish -c Release -o /app/publish
# Stage 3: Runtime

View File

@@ -39,7 +39,7 @@
<Exec WorkingDirectory="$(SpaRoot)" Command="npm ci" />
</Target>
<Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
<Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish" Condition=" '$(SkipSpaBuild)' != 'true' ">
<!-- Build the frontend -->
<Exec WorkingDirectory="$(SpaRoot)" Command="npm ci" Condition=" !Exists('$(SpaRoot)node_modules') " />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build" />