From 87453f32630d0f56e6ad7f1bb7b8dcfaf0f9bc2f Mon Sep 17 00:00:00 2001 From: Professional Date: Sat, 12 Apr 2025 00:51:39 +0700 Subject: [PATCH] test deploy --- Dockerfile | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/Dockerfile b/Dockerfile index ae5b460..99ff396 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,41 +1,27 @@ # --- Стадия сборки --- -# Используем официальный образ .NET SDK для сборки приложения -# Укажите вашу версию .NET (8.0, 7.0, 6.0) FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /source -# Копируем .sln и .csproj файлы для восстановления зависимостей -# Копируем сначала их, чтобы использовать кэширование слоев Docker -# Если зависимости не менялись, этот слой не будет пересобираться +# Копируем .sln и .csproj файл (он теперь в корне) COPY *.sln . -COPY DailyDigestWorker/*.csproj ./DailyDigestWorker/ -# Копируем другие проекты, если они есть в решении +COPY *.csproj . +# Если будут другие проекты, их .csproj тоже копируем из корня -# Восстанавливаем NuGet пакеты для всего решения -RUN dotnet restore "./DailyDigestWorker/DailyDigestWorker.csproj" -# Если есть другие проекты, возможно, лучше восстановить для .sln: RUN dotnet restore +# Восстанавливаем NuGet пакеты для .csproj файла +RUN dotnet restore "./DailyDigestWorker.csproj" # Используем имя файла проекта -# Копируем весь остальной исходный код +# Копируем весь остальной исходный код из корня COPY . . -# Публикуем приложение в Release конфигурации -# --no-restore т.к. мы уже восстановили пакеты -# -o /app/publish указывает папку для вывода опубликованного приложения -WORKDIR /source/DailyDigestWorker +# Публикуем приложение +# WORKDIR уже /source, где лежит .csproj RUN dotnet publish "./DailyDigestWorker.csproj" -c Release -o /app/publish --no-restore # --- Финальная стадия --- -# Используем официальный образ .NET Runtime (он меньше, чем SDK) -# Укажите ту же версию .NET, что и SDK FROM mcr.microsoft.com/dotnet/runtime:8.0 AS final WORKDIR /app - -# Копируем опубликованное приложение из стадии сборки COPY --from=build /app/publish . -# Устанавливаем переменную окружения для правильной работы с глобализацией (культуры, форматы) ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false -# Указываем точку входа - команду для запуска нашего приложения -# Замените DailyDigestWorker.dll на фактическое имя вашей сборки, если оно другое ENTRYPOINT ["dotnet", "DailyDigestWorker.dll"] \ No newline at end of file