From e00d462a4cfd2bc4cf1d0684286867eb1c841035 Mon Sep 17 00:00:00 2001 From: David D'ALMEIDA Date: Fri, 15 Mar 2024 16:10:03 +0100 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'src/HeartTrackAPI/?= =?UTF-8?q?Dockerfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/HeartTrackAPI/Dockerfile | 44 ++++++++++++------------------------ 1 file changed, 15 insertions(+), 29 deletions(-) diff --git a/src/HeartTrackAPI/Dockerfile b/src/HeartTrackAPI/Dockerfile index 79c2b47..3cabeae 100644 --- a/src/HeartTrackAPI/Dockerfile +++ b/src/HeartTrackAPI/Dockerfile @@ -1,47 +1,33 @@ -FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base -USER $APP_UID -RUN echo $APP_UID -RUN whoami -WORKDIR /app -EXPOSE 8080 -EXPOSE 8081 - FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build ARG BUILD_CONFIGURATION=Release WORKDIR /src -COPY ["HeartTrackAPI/HeartTrackAPI.csproj", "HeartTrackAPI/"] -COPY ["StubbedContextLib/StubbedContextLib.csproj", "StubbedContextLib/"] -COPY ["Shared/Shared.csproj", "Shared/"] -COPY ["Entities/Entities.csproj", "Entities/"] -COPY ["Dto/Dto.csproj", "Dto/"] -COPY ["APIMappers/APIMappers.csproj", "APIMappers/"] -COPY ["EFMappers/EFMappers.csproj", "EFMappers/"] -COPY ["DbContextLib/DbContextLib.csproj", "DbContextLib/"] -COPY ["Model/Model.csproj", "Model/"] -COPY ["Model2Entities/Model2Entities.csproj", "Model2Entities/"] -COPY ["StubAPI/StubAPI.csproj", "StubAPI/"] -COPY ["StubbedContextLib/StubbedContextLib.csproj", "StubbedContextLib/"] -RUN dotnet restore "HeartTrackAPI/HeartTrackAPI.csproj" + COPY . . -RUN dotnet tool install --global dotnet-ef --version 8.0 +RUN dotnet tool install --global dotnet-ef --version 8.0 ENV PATH="${PATH}:/root/.dotnet/tools" + # Add the migrations RUN dotnet-ef migrations add --project StubbedContextLib/StubbedContextLib.csproj --startup-project HeartTrackAPI/HeartTrackAPI.csproj --context StubbedContextLib.TrainingStubbedContext --configuration Debug Initial # Update the database RUN dotnet-ef database update --project StubbedContextLib/StubbedContextLib.csproj --startup-project HeartTrackAPI/HeartTrackAPI.csproj --context StubbedContextLib.TrainingStubbedContext --configuration Debug -RUN chmod 777 HeartTrackAPI/uca.HeartTrack.db -WORKDIR "/src/HeartTrackAPI" -RUN dotnet build "HeartTrackAPI.csproj" -c $BUILD_CONFIGURATION -o /app/build +USER root +RUN chown -R app:app HeartTrackAPI/ -FROM build AS publish +WORKDIR /src/HeartTrackAPI ARG BUILD_CONFIGURATION=Release RUN dotnet publish "HeartTrackAPI.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false -FROM base AS final + +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +USER $APP_UID WORKDIR /app -COPY --from=publish /app/publish . -COPY --from=publish /src/HeartTrackAPI/uca.HeartTrack.db . + +COPY --from=build /app/publish . +COPY --from=build /src/HeartTrackAPI/uca.HeartTrack.db . RUN ls -l uca.HeartTrack.db +EXPOSE 8080 +EXPOSE 8081 + ENTRYPOINT ["dotnet", "HeartTrackAPI.dll"] \ No newline at end of file