From f5d6ecaecc21d7d91cd61ff679a9b78054e2ca17 Mon Sep 17 00:00:00 2001 From: Nick Seguin Date: Sun, 25 Feb 2024 17:23:27 -0600 Subject: [PATCH] update dockerfile --- Dockerfile | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3a791c9..8245165 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,16 +17,16 @@ RUN apt-get update && apt-get install nodejs -y --no-install-recommends && rm -r # update npm and install pnpm RUN npm install -g npm && npm install -g pnpm && npm cache clean --force -WORKDIR /app - # install wasm-tools workload RUN dotnet workload install wasm-tools +WORKDIR /app + # install dotnet tools COPY --link .config/dotnet-tools.json .config/ RUN dotnet tool restore -# restore solution +# copy and restore dotnet solution COPY --link *.sln . COPY --link global.json ./ COPY --link nuget.config ./ @@ -38,16 +38,18 @@ COPY --link Directory.Build.targets . COPY --link Directory.Packages.props . COPY --link src/NSeguin.Dev.Web/*.csproj ./src/NSeguin.Dev.Web/ -COPY --link src/NSeguin.Dev.Web/libman.json ./src/NSeguin.Dev.Web/ -COPY --link src/NSeguin.Dev.Web/package.json ./src/NSeguin.Dev.Web/ -COPY --link src/NSeguin.Dev.Web/pnpm-lock.yaml ./src/NSeguin.Dev.Web/ -COPY --link src/NSeguin.Dev.Web/tailwind.config.ts ./src/NSeguin.Dev.Web/ - COPY --link src/NSeguin.Dev.Web.Client/*.csproj ./src/NSeguin.Dev.Web.Client/ COPY --link src/NSeguin.Dev.Web.Common/*.csproj ./src/NSeguin.Dev.Web.Common/ COPY --link src/NSeguin.Dev.Web.HeroIcons/*.csproj ./src/NSeguin.Dev.Web.HeroIcons/ COPY --link src/NSeguin.Dev.Web.HeroIcons.SourceGenerator/*.csproj ./src/NSeguin.Dev.Web.HeroIcons.SourceGenerator/ +# copy and restore node packages +COPY --link src/NSeguin.Dev.Web/libman.json ./src/NSeguin.Dev.Web/ +COPY --link src/NSeguin.Dev.Web/package.json ./src/NSeguin.Dev.Web/ +COPY --link src/NSeguin.Dev.Web/pnpm-lock.yaml ./src/NSeguin.Dev.Web/ +COPY --link src/NSeguin.Dev.Web/tailwind.config.ts ./src/NSeguin.Dev.Web/ +RUN cd src/NSeguin.Dev.Web && pnpm install --frozen-lockfile + RUN dotnet restore --configfile nuget.config --locked-mode --force-evaluate # copy everything else and build solution @@ -57,7 +59,7 @@ ENV NODE_ENV=production ENV CI=true ENV SkipNodeBuild=true -RUN cd src/NSeguin.Dev.Web && pnpm install --frozen-lockfile && pnpm run css:build --prefix ./src/NSeguin.Dev.Web/ +RUN cd src/NSeguin.Dev.Web && pnpm run css:build RUN dotnet publish -c Release /p:RestoreLockedMode=true FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime