|
|
@ -6,48 +6,63 @@ EXPOSE 80 |
|
|
|
|
|
|
|
FROM node as node-build |
|
|
|
WORKDIR /web/src |
|
|
|
COPY src/Web/WebSPA/Client/package.json . |
|
|
|
COPY src/Web/WebSPA/Client/package-lock.json . |
|
|
|
COPY Web/WebSPA/Client/package.json . |
|
|
|
COPY Web/WebSPA/Client/package-lock.json . |
|
|
|
RUN npm install |
|
|
|
COPY src/Web/WebSPA/Client . |
|
|
|
COPY Web/WebSPA/Client . |
|
|
|
RUN npm run build:prod |
|
|
|
|
|
|
|
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build |
|
|
|
WORKDIR /src |
|
|
|
|
|
|
|
# Create this "restore-solution" section by running ./Create-DockerfileSolutionRestore.ps1, to optimize build cache reuse |
|
|
|
COPY ["src/ApiGateways/Aggregators/Web.Shopping.HttpAggregator/Web.Shopping.HttpAggregator.csproj", "src/ApiGateways/Aggregators/Web.Shopping.HttpAggregator/"] |
|
|
|
COPY ["src/BuildingBlocks/EventBus/EventBus/EventBus.csproj", "src/BuildingBlocks/EventBus/EventBus/"] |
|
|
|
COPY ["src/BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj", "src/BuildingBlocks/EventBus/EventBusRabbitMQ/"] |
|
|
|
COPY ["src/BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj", "src/BuildingBlocks/EventBus/EventBusServiceBus/"] |
|
|
|
COPY ["src/BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj", "src/BuildingBlocks/EventBus/IntegrationEventLogEF/"] |
|
|
|
COPY ["src/BuildingBlocks/WebHost/WebHost.Customization/WebHost.Customization.csproj", "src/BuildingBlocks/WebHost/WebHost.Customization/"] |
|
|
|
COPY ["src/Services/Basket/Basket.API/Basket.API.csproj", "src/Services/Basket/Basket.API/"] |
|
|
|
COPY ["src/Services/Catalog/Catalog.API/Catalog.API.csproj", "src/Services/Catalog/Catalog.API/"] |
|
|
|
COPY ["src/Services/Coupon/Coupon.API/Coupon.API.csproj", "src/Services/Coupon/Coupon.API/"] |
|
|
|
COPY ["src/Services/Identity/Identity.API/Identity.API.csproj", "src/Services/Identity/Identity.API/"] |
|
|
|
COPY ["src/Services/Ordering/Ordering.API/Ordering.API.csproj", "src/Services/Ordering/Ordering.API/"] |
|
|
|
COPY ["src/Services/Ordering/Ordering.BackgroundTasks/Ordering.BackgroundTasks.csproj", "src/Services/Ordering/Ordering.BackgroundTasks/"] |
|
|
|
COPY ["src/Services/Ordering/Ordering.Domain/Ordering.Domain.csproj", "src/Services/Ordering/Ordering.Domain/"] |
|
|
|
COPY ["src/Services/Ordering/Ordering.Infrastructure/Ordering.Infrastructure.csproj", "src/Services/Ordering/Ordering.Infrastructure/"] |
|
|
|
COPY ["src/Services/Ordering/Ordering.SignalrHub/Ordering.SignalrHub.csproj", "src/Services/Ordering/Ordering.SignalrHub/"] |
|
|
|
COPY ["src/Services/Payment/Payment.API/Payment.API.csproj", "src/Services/Payment/Payment.API/"] |
|
|
|
COPY ["src/Web/WebSPA/WebSPA.csproj", "src/Web/WebSPA/"] |
|
|
|
COPY ["src/Web/WebStatus/WebStatus.csproj", "src/Web/WebStatus/"] |
|
|
|
COPY ["NuGet.config", "./"] |
|
|
|
COPY ["docker-compose.dcproj", "./"] |
|
|
|
COPY ["eShop-Learn.sln", "./"] |
|
|
|
RUN dotnet restore "eShop-Learn.sln" |
|
|
|
COPY "eShopOnContainers-ServicesAndWebApps.sln" "eShopOnContainers-ServicesAndWebApps.sln" |
|
|
|
|
|
|
|
COPY "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj" "ApiGateways/Mobile.Bff.Shopping/aggregator/Mobile.Shopping.HttpAggregator.csproj" |
|
|
|
COPY "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" "ApiGateways/Web.Bff.Shopping/aggregator/Web.Shopping.HttpAggregator.csproj" |
|
|
|
COPY "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" "BuildingBlocks/Devspaces.Support/Devspaces.Support.csproj" |
|
|
|
COPY "BuildingBlocks/EventBus/EventBus/EventBus.csproj" "BuildingBlocks/EventBus/EventBus/EventBus.csproj" |
|
|
|
COPY "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" "BuildingBlocks/EventBus/EventBus.Tests/EventBus.Tests.csproj" |
|
|
|
COPY "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" "BuildingBlocks/EventBus/EventBusRabbitMQ/EventBusRabbitMQ.csproj" |
|
|
|
COPY "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" "BuildingBlocks/EventBus/EventBusServiceBus/EventBusServiceBus.csproj" |
|
|
|
COPY "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" "BuildingBlocks/EventBus/IntegrationEventLogEF/IntegrationEventLogEF.csproj" |
|
|
|
COPY "BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj" "BuildingBlocks/WebHostCustomization/WebHost.Customization/WebHost.Customization.csproj" |
|
|
|
COPY "Services/Basket/Basket.API/Basket.API.csproj" "Services/Basket/Basket.API/Basket.API.csproj" |
|
|
|
COPY "Services/Basket/Basket.FunctionalTests/Basket.FunctionalTests.csproj" "Services/Basket/Basket.FunctionalTests/Basket.FunctionalTests.csproj" |
|
|
|
COPY "Services/Basket/Basket.UnitTests/Basket.UnitTests.csproj" "Services/Basket/Basket.UnitTests/Basket.UnitTests.csproj" |
|
|
|
COPY "Services/Catalog/Catalog.API/Catalog.API.csproj" "Services/Catalog/Catalog.API/Catalog.API.csproj" |
|
|
|
COPY "Services/Catalog/Catalog.FunctionalTests/Catalog.FunctionalTests.csproj" "Services/Catalog/Catalog.FunctionalTests/Catalog.FunctionalTests.csproj" |
|
|
|
COPY "Services/Catalog/Catalog.UnitTests/Catalog.UnitTests.csproj" "Services/Catalog/Catalog.UnitTests/Catalog.UnitTests.csproj" |
|
|
|
COPY "Services/Identity/Identity.API/Identity.API.csproj" "Services/Identity/Identity.API/Identity.API.csproj" |
|
|
|
COPY "Services/Ordering/Ordering.API/Ordering.API.csproj" "Services/Ordering/Ordering.API/Ordering.API.csproj" |
|
|
|
COPY "Services/Ordering/Ordering.BackgroundTasks/Ordering.BackgroundTasks.csproj" "Services/Ordering/Ordering.BackgroundTasks/Ordering.BackgroundTasks.csproj" |
|
|
|
COPY "Services/Ordering/Ordering.Domain/Ordering.Domain.csproj" "Services/Ordering/Ordering.Domain/Ordering.Domain.csproj" |
|
|
|
COPY "Services/Ordering/Ordering.FunctionalTests/Ordering.FunctionalTests.csproj" "Services/Ordering/Ordering.FunctionalTests/Ordering.FunctionalTests.csproj" |
|
|
|
COPY "Services/Ordering/Ordering.Infrastructure/Ordering.Infrastructure.csproj" "Services/Ordering/Ordering.Infrastructure/Ordering.Infrastructure.csproj" |
|
|
|
COPY "Services/Ordering/Ordering.SignalrHub/Ordering.SignalrHub.csproj" "Services/Ordering/Ordering.SignalrHub/Ordering.SignalrHub.csproj" |
|
|
|
COPY "Services/Ordering/Ordering.UnitTests/Ordering.UnitTests.csproj" "Services/Ordering/Ordering.UnitTests/Ordering.UnitTests.csproj" |
|
|
|
COPY "Services/Payment/Payment.API/Payment.API.csproj" "Services/Payment/Payment.API/Payment.API.csproj" |
|
|
|
COPY "Services/Webhooks/Webhooks.API/Webhooks.API.csproj" "Services/Webhooks/Webhooks.API/Webhooks.API.csproj" |
|
|
|
COPY "Tests/Services/Application.FunctionalTests/Application.FunctionalTests.csproj" "Tests/Services/Application.FunctionalTests/Application.FunctionalTests.csproj" |
|
|
|
COPY "Web/WebhookClient/WebhookClient.csproj" "Web/WebhookClient/WebhookClient.csproj" |
|
|
|
COPY "Web/WebMVC/WebMVC.csproj" "Web/WebMVC/WebMVC.csproj" |
|
|
|
COPY "Web/WebSPA/WebSPA.csproj" "Web/WebSPA/WebSPA.csproj" |
|
|
|
COPY "Web/WebStatus/WebStatus.csproj" "Web/WebStatus/WebStatus.csproj" |
|
|
|
|
|
|
|
COPY "docker-compose.dcproj" "docker-compose.dcproj" |
|
|
|
|
|
|
|
COPY "NuGet.config" "NuGet.config" |
|
|
|
|
|
|
|
RUN dotnet restore "eShopOnContainers-ServicesAndWebApps.sln" |
|
|
|
|
|
|
|
COPY . . |
|
|
|
COPY --from=node-build /web/wwwroot /src/src/Web/WebSPA/wwwroot/ |
|
|
|
WORKDIR /src/src/Web/WebSPA |
|
|
|
# RUN dotnet build "WebSPA.csproj" -c Release -o /app/build |
|
|
|
COPY --from=node-build /web/wwwroot /src/Web/WebSPA/wwwroot/ |
|
|
|
WORKDIR /src/Web/WebSPA |
|
|
|
RUN dotnet publish --no-restore -c Release -o /app |
|
|
|
|
|
|
|
FROM build AS publish |
|
|
|
RUN dotnet publish --no-restore "WebSPA.csproj" -c Release -o /app/publish |
|
|
|
|
|
|
|
FROM base AS final |
|
|
|
WORKDIR /app |
|
|
|
COPY --from=publish /app/publish . |
|
|
|
COPY --from=publish /app . |
|
|
|
ENTRYPOINT ["dotnet", "WebSPA.dll"] |