| FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base | FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base | ||||
| WORKDIR /app | WORKDIR /app | ||||
| EXPOSE 80 | EXPOSE 80 | ||||
| FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build | FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build | ||||
| WORKDIR /src | 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 NemAn.sln ./ | |||||
| COPY SpotifyWorker/*.csproj ./SpotifyWorker/ | |||||
| COPY SpotifyService/*.csproj ./SpotifyService/ | |||||
| COPY GrpcShared/*.csproj ./GrpcShared/ | |||||
| COPY IdentityProvider/*.csproj ./IdentityProvider/ | |||||
| COPY NemAnBlazor/*.csproj ./NemAnBlazor/ | |||||
| RUN dotnet restore | |||||
| COPY . . | COPY . . | ||||
| WORKDIR /src/SpotifyWorker | |||||
| RUN dotnet build -c Release -o /app | |||||
| WORKDIR "/src/SpotifyService/SpotifyService" | |||||
| WORKDIR /src/SpotifyService | |||||
| RUN dotnet build -c Release -o /app | |||||
| RUN dotnet build "SpotifyService.csproj" -c Release -o /app/build | |||||
| WORKDIR /src/GrpcShared | |||||
| RUN dotnet build -c Release -o /app | |||||
| COPY . . | |||||
| WORKDIR "/src/IdentityProvider/IdentityProvider" | |||||
| RUN dotnet build "IdentityProvider.csproj" -c Release -o /app/build1 | |||||
| COPY . . | |||||
| WORKDIR /src/IdentityProvider | |||||
| RUN dotnet build -c Release -o /app | |||||
| 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 | |||||
| WORKDIR /src/NemAnBlazor | |||||
| RUN dotnet build -c Release -o /app | |||||
| FROM build AS publish | 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" | |||||
| RUN dotnet publish -c Release -o /app | |||||
| FROM base AS final | FROM base AS final | ||||
| WORKDIR /app | 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"] | |||||
| COPY --from=publish /app . | |||||
| ENTRYPOINT ["dotnet", "SpotifyService.dll"] |