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 ["SpotifyService/SpotifyService.csproj", "SpotifyService/SpotifyService/"] COPY ["IdentityProvider/IdentityProvider.csproj", "IdentityProvider/IdentityProvider/"] COPY ["NemAnBlazor/NemAnBlazor.csproj", "NemAnBlazor/NemAnBlazor/"] COPY ["SpotifyWorker/SpotifyWorker.csproj", "SpotifyWorker/SpotifyWorker/"] COPY *.sln . COPY *.csproj ./ RUN dotnet restore "SpotifyService/SpotifyService.csproj" RUN dotnet restore "IdentityProvider/IdentityProvider.csproj" RUN dotnet restore "NemAnBlazor/NemAnBlazor.csproj" RUN dotnet restore "SpotifyWorker/SpotifyWorker.csproj" COPY . . WORKDIR "/src/SpotifyService/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/NemAnBlazor/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/SpotifyService/SpotifyService.csproj" RUN dotnet publish -c Release -o /app/publish1 "/src/IdentityProvider/IdentityProvider.csproj" RUN dotnet publish -c Release -o /app/publish2 "/src/NemAnBlazor/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"]