dockerfile
All checks were successful
Unit tests / test (push) Successful in 2m24s

This commit is contained in:
Оля Бизюкова 2025-01-24 01:06:12 +05:00
parent 06bad2d53e
commit f8775856a1

View File

@ -1,24 +1,50 @@
#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.
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base
USER app
WORKDIR /app
EXPOSE 8080
EXPOSE 8081
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
ARG BUILD_CONFIGURATION=Release
ARG PUBLISHERPASSWORD
# 1. Íàñòðàèâàåì ðàáî÷óþ äèðåêòîðèþ
WORKDIR /src
# 2. Äîáàâëÿåì ïðèâàòíûé NuGet-ðåïîçèòîðèé
#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. Êîïèðóåì csproj-ôàéëû è âîññòàíàâëèâàåì ïàêåòû
COPY ["DD.Persistence.App/DD.Persistence.App.csproj", "DD.Persistence.App/"]
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/"]
RUN dotnet restore "./DD.Persistence.App/DD.Persistence.App.csproj"
# 4. Êîïèðóåì *âñ¸* îñòàâøååñÿ (êîä è ò. ï.)
COPY . .
# 5. Ñîáèðàåì
WORKDIR "/src/DD.Persistence.App"
RUN dotnet build "./DD.Persistence.App.csproj" -c $BUILD_CONFIGURATION -o /app/build
# ---------- Ïóáëèêàöèÿ ïðèëîæåíèÿ ----------
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./DD.Persistence.App.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
# ---------- Ôèíàëüíûé îáðàç ñ ðàíòàéìîì ----------
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .