diff --git a/code/Dockerfile b/code/Dockerfile index 1285831..a9ae473 100644 --- a/code/Dockerfile +++ b/code/Dockerfile @@ -1,30 +1,23 @@ -FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build - -# Première étape de la construction -WORKDIR /app/server -RUN dotnet new console -COPY Server/Program.cs Program.cs -RUN dotnet publish -c Release -o out +FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base +WORKDIR /app +EXPOSE 80 +EXPOSE 443 -# Deuxième étape de la construction -WORKDIR /app/api -COPY ApiLeapHit/ApiLeapHit.csproj . -COPY DTO/DTO.csproj DTO/ -COPY DataBase/DataBase.csproj DataBase/ -RUN dotnet restore +FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build +WORKDIR /src +COPY ["server/ApiLeapHit/ApiLeapHit.csproj", "ApiLeapHit/"] +COPY ["server/DTO/DTO.csproj", "DTO/"] +COPY ["server/DataBase/DataBase.csproj", "DataBase/"] +RUN dotnet restore "server/ApiLeapHit/ApiLeapHit.csproj" COPY . . -WORKDIR /app/api/ApiLeapHit -RUN dotnet build -c Release -o /app/build +WORKDIR "/src/ApiLeapHit" +RUN dotnet build "ApiLeapHit.csproj" -c Release -o /app/build -# Troisième étape de la construction -FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS final -WORKDIR /app -COPY --from=build /app/server/out . -COPY --from=build /app/api/build . +FROM build AS publish +RUN dotnet publish "ApiLeapHit.csproj" -c Release -o /app/publish -# Configuration de l'application -EXPOSE 80 -EXPOSE 443 -EXPOSE 3131 +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "ApiLeapHit.dll"]