| FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base | |||||
| WORKDIR /app | |||||
| EXPOSE 80 | |||||
| FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build | |||||
| WORKDIR /src | |||||
| COPY ["gRPCServer/SpotifyService.csproj", "gRPCServer/SpotifyService/"] | |||||
| COPY ["IdentityProvider/IdentityProvider.csproj", "IdentityProvider/IdentityProvider/"] | |||||
| COPY ["NemAnCore/NemAnBlazor.csproj", "NemAnCore/NemAnBlazor/"] | |||||
| COPY ["SpotifyWorker/SpotifyWorker.csproj", "SpotifyWorker/SpotifyWorker/"] | |||||
| COPY *.sln . | |||||
| COPY *.csproj ./ | |||||
| RUN dotnet restore "gRPCServer/SpotifyService.csproj" | |||||
| RUN dotnet restore "IdentityProvider/IdentityProvider.csproj" | |||||
| RUN dotnet restore "NemAnCore/NemAnBlazor.csproj" | |||||
| RUN dotnet restore "SpotifyWorker/SpotifyWorker.csproj" | |||||
| COPY . . | |||||
| WORKDIR "/src/gRPCServer/SpotifyService" | |||||
| RUN dotnet build "SpotifyService.csproj" -c Release -o /app/build | |||||
| COPY . . | |||||
| WORKDIR "/src/IdentityProvider/IdentityProvider" | |||||
| RUN dotnet build "IdentityProvider.csproj" -c Release -o /app/build1 | |||||
| COPY . . | |||||
| WORKDIR "/src/NemAnCore/NemAnBlazor" | |||||
| RUN dotnet build "NemAnBlazor.csproj" -c Release -o /app/build2 | |||||
| COPY . . | |||||
| WORKDIR "/src/SpotifyWorker/SpotifyWorker" | |||||
| RUN dotnet build "SpotifyWorker.csproj" -c Release -o /app/build3 | |||||
| FROM build AS publish | |||||
| RUN dotnet publish -c Release -o /app/publish "/src/gRPCServer/SpotifyService.csproj" | |||||
| RUN dotnet publish -c Release -o /app/publish1 "/src/IdentityProvider/IdentityProvider.csproj" | |||||
| RUN dotnet publish -c Release -o /app/publish2 "/src/NemAnCore/NemAnBlazor.csproj" | |||||
| RUN dotnet publish -c Release -o /app/publish3 "/src/SpotifyWorker/SpotifyWorker.csproj" | |||||
| FROM base AS final | |||||
| WORKDIR /app | |||||
| COPY --from=publish /app/publish . | |||||
| ENTRYPOINT ["dotnet", "SpotifyService.dll"] | |||||
| COPY --from=publish /app/publish1 . | |||||
| ENTRYPOINT ["dotnet", "IdentityProvider.dll"] | |||||
| COPY --from=publish /app/publish2 . | |||||
| ENTRYPOINT ["dotnet", "NemAnBlazor.dll"] | |||||
| COPY --from=publish /app/publish3 . | |||||
| ENTRYPOINT ["dotnet", "SpotifyWorker.dll"] |