update dockerfile

This commit is contained in:
Nick Seguin 2024-02-25 17:23:27 -06:00
parent 61460da314
commit f5d6ecaecc
Signed by: nseguin
GPG key ID: 68C99FA84079021D

View file

@ -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