2025-12-09 08:40:05 +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.
2024-09-12 15:05:47 +10:00
2025-12-09 08:40:05 +10:00
# This stage is used when running from VS in fast mode (Default for Debug configuration)
2024-09-12 15:05:47 +10:00
FROM 10.99.253.167:8090/dotnet/runtime:7.0 AS base
WORKDIR /app
2025-12-09 08:40:05 +10:00
# This stage is used to build the service project
2024-09-12 15:05:47 +10:00
FROM 10.99.253.167:8090/dotnet/sdk:7.0 AS build
ARG BUILD_CONFIGURATION = Release
WORKDIR /src
COPY [ "NuGet.config" , "." ]
COPY [ "PARR.JobAutoControlWorker/PARR.JobAutoControlWorker.csproj" , "PARR.JobAutoControlWorker/" ]
COPY [ "PARR.JobAutoControl/PARR.JobAutoControl.csproj" , "PARR.JobAutoControl/" ]
COPY [ "PARR.BLL/PARR.BLL.csproj" , "PARR.BLL/" ]
2024-09-18 16:32:45 +10:00
COPY [ "PARR.Common/PARR.Common.csproj" , "PARR.Common/" ]
2025-12-09 08:40:05 +10:00
COPY [ "PARR.Constants/PARR.Constants.csproj" , "PARR.Constants/" ]
2024-09-12 15:05:47 +10:00
COPY [ "PARR.DAL/PARR.DAL.csproj" , "PARR.DAL/" ]
RUN dotnet restore "./PARR.JobAutoControlWorker/PARR.JobAutoControlWorker.csproj"
COPY . .
WORKDIR "/src/PARR.JobAutoControlWorker"
RUN dotnet build "./PARR.JobAutoControlWorker.csproj" -c $BUILD_CONFIGURATION -o /app/build
2025-12-09 08:40:05 +10:00
# This stage is used to publish the service project to be copied to the final stage
2024-09-12 15:05:47 +10:00
FROM build AS publish
ARG BUILD_CONFIGURATION = Release
2025-12-09 08:40:05 +10:00
ARG app_version = 0 .0.0-default
2024-09-12 15:05:47 +10:00
RUN dotnet publish "./PARR.JobAutoControlWorker.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost= false /p:Version= $app_version
2025-12-09 08:40:05 +10:00
# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
2024-09-12 15:05:47 +10:00
FROM base AS final
WORKDIR /app
COPY --from= publish /app/publish .
ENTRYPOINT [ "dotnet" , "PARR.JobAutoControlWorker.dll" ]