2026-04-24 09:49:13 +10:00
# See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
# This stage is used when running from VS in fast mode (Default for Debug configuration)
2026-05-20 16:43:56 +10:00
FROM 10.99.253.167:8090/dotnet/runtime:9.0 AS base
2026-04-24 09:49:13 +10:00
WORKDIR /app
# This stage is used to build the service project
2026-05-20 16:43:56 +10:00
FROM 10.99.253.167:8090/dotnet/sdk:9.0 AS build
2026-04-24 09:49:13 +10:00
ARG BUILD_CONFIGURATION = Release
2026-05-19 13:51:25 +10:00
USER root
2026-04-24 09:49:13 +10:00
WORKDIR /src
COPY [ "NuGet.config" , "." ]
COPY [ "PARR.TaskReconciliationWorker/PARR.TaskReconciliationWorker.csproj" , "PARR.TaskReconciliationWorker/" ]
COPY [ "PARR.Core/PARR.Core.csproj" , "PARR.Core/" ]
COPY [ "PARR.Domain/PARR.Domain.csproj" , "PARR.Domain/" ]
COPY [ "PARR.DAL/PARR.DAL.csproj" , "PARR.DAL/" ]
COPY [ "PARR.Infrastructure/PARR.Infrastructure.csproj" , "PARR.Infrastructure/" ]
RUN dotnet restore "./PARR.TaskReconciliationWorker/PARR.TaskReconciliationWorker.csproj"
COPY . .
WORKDIR "/src/PARR.TaskReconciliationWorker"
RUN dotnet build "./PARR.TaskReconciliationWorker.csproj" -c $BUILD_CONFIGURATION -o /app/build
# This stage is used to publish the service project to be copied to the final stage
FROM build AS publish
ARG app_version = 0 .0.0-default
ARG BUILD_CONFIGURATION = Release
RUN dotnet publish "./PARR.TaskReconciliationWorker.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost= false /p:Version= $app_version
# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
FROM base AS final
WORKDIR /app
COPY --from= publish /app/publish .
ENTRYPOINT [ "dotnet" , "PARR.TaskReconciliationWorker.dll" ]