2024-11-14 15:17:43 +05: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.
2025-01-24 01:06:12 +05:00
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base
2024-11-14 15:17:43 +05:00
USER app
WORKDIR /app
EXPOSE 8080
2024-12-16 15:38:46 +05:00
EXPOSE 8081
2024-11-14 15:17:43 +05:00
2025-01-24 01:06:12 +05:00
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
2024-11-14 15:17:43 +05:00
ARG BUILD_CONFIGURATION = Release
2025-01-24 01:06:12 +05:00
ARG PUBLISHERPASSWORD
# 1. <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2024-11-14 15:17:43 +05:00
WORKDIR /src
2025-01-24 01:06:12 +05:00
# 2. <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> NuGet-<2D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
#RUN dotnet nuget add source \
#--name gitea \
#--username publisher \
#--password $PUBLISHERPASSWORD \
#--store-password-in-clear-text \
#https://git.ddrilling.ru/api/packages/DDrilling/nuget/index.json
# 3. <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> csproj-<2D> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2024-12-16 15:38:46 +05:00
COPY [ "DD.Persistence.App/DD.Persistence.App.csproj" , "DD.Persistence.App/" ]
2025-01-24 01:06:12 +05:00
COPY [ "DD.Persistence.API/DD.Persistence.API.csproj" , "DD.Persistence.API/" ]
COPY [ "DD.Persistence/DD.Persistence.csproj" , "DD.Persistence/" ]
COPY [ "DD.Persistence.Database/DD.Persistence.Database.csproj" , "DD.Persistence.Database/" ]
COPY [ "DD.Persistence.Database.Postgres/DD.Persistence.Database.Postgres.csproj" , "DD.Persistence.Database.Postgres/" ]
COPY [ "DD.Persistence.Models/DD.Persistence.Models.csproj" , "DD.Persistence.Models/" ]
COPY [ "DD.Persistence.Repository/DD.Persistence.Repository.csproj" , "DD.Persistence.Repository/" ]
2024-12-16 15:38:46 +05:00
RUN dotnet restore "./DD.Persistence.App/DD.Persistence.App.csproj"
2025-01-24 01:06:12 +05:00
# 4. <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> *<2A> <> <EFBFBD> * <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <20> <20> . <20> .)
2024-11-14 15:17:43 +05:00
COPY . .
2025-01-24 01:06:12 +05:00
# 5. <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2024-12-16 15:38:46 +05:00
WORKDIR "/src/DD.Persistence.App"
RUN dotnet build "./DD.Persistence.App.csproj" -c $BUILD_CONFIGURATION -o /app/build
2024-11-14 15:17:43 +05:00
2025-01-24 01:06:12 +05:00
# ---------- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ----------
2024-11-14 15:17:43 +05:00
FROM build AS publish
ARG BUILD_CONFIGURATION = Release
2024-12-16 15:38:46 +05:00
RUN dotnet publish "./DD.Persistence.App.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost= false
2024-11-14 15:17:43 +05:00
2025-01-24 01:06:12 +05:00
# ---------- <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ----------
2024-11-14 15:17:43 +05:00
FROM base AS final
WORKDIR /app
COPY --from= publish /app/publish .
2024-12-16 15:38:46 +05:00
ENTRYPOINT [ "dotnet" , "DD.Persistence.App.dll" ]