test deploy
This commit is contained in:
parent
7783d17d6b
commit
87453f3263
30
Dockerfile
30
Dockerfile
@ -1,41 +1,27 @@
|
|||||||
# --- Стадия сборки ---
|
# --- Стадия сборки ---
|
||||||
# Используем официальный образ .NET SDK для сборки приложения
|
|
||||||
# Укажите вашу версию .NET (8.0, 7.0, 6.0)
|
|
||||||
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
||||||
WORKDIR /source
|
WORKDIR /source
|
||||||
|
|
||||||
# Копируем .sln и .csproj файлы для восстановления зависимостей
|
# Копируем .sln и .csproj файл (он теперь в корне)
|
||||||
# Копируем сначала их, чтобы использовать кэширование слоев Docker
|
|
||||||
# Если зависимости не менялись, этот слой не будет пересобираться
|
|
||||||
COPY *.sln .
|
COPY *.sln .
|
||||||
COPY DailyDigestWorker/*.csproj ./DailyDigestWorker/
|
COPY *.csproj .
|
||||||
# Копируем другие проекты, если они есть в решении
|
# Если будут другие проекты, их .csproj тоже копируем из корня
|
||||||
|
|
||||||
# Восстанавливаем NuGet пакеты для всего решения
|
# Восстанавливаем NuGet пакеты для .csproj файла
|
||||||
RUN dotnet restore "./DailyDigestWorker/DailyDigestWorker.csproj"
|
RUN dotnet restore "./DailyDigestWorker.csproj" # Используем имя файла проекта
|
||||||
# Если есть другие проекты, возможно, лучше восстановить для .sln: RUN dotnet restore
|
|
||||||
|
|
||||||
# Копируем весь остальной исходный код
|
# Копируем весь остальной исходный код из корня
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# Публикуем приложение в Release конфигурации
|
# Публикуем приложение
|
||||||
# --no-restore т.к. мы уже восстановили пакеты
|
# WORKDIR уже /source, где лежит .csproj
|
||||||
# -o /app/publish указывает папку для вывода опубликованного приложения
|
|
||||||
WORKDIR /source/DailyDigestWorker
|
|
||||||
RUN dotnet publish "./DailyDigestWorker.csproj" -c Release -o /app/publish --no-restore
|
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
|
FROM mcr.microsoft.com/dotnet/runtime:8.0 AS final
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Копируем опубликованное приложение из стадии сборки
|
|
||||||
COPY --from=build /app/publish .
|
COPY --from=build /app/publish .
|
||||||
|
|
||||||
# Устанавливаем переменную окружения для правильной работы с глобализацией (культуры, форматы)
|
|
||||||
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false
|
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false
|
||||||
|
|
||||||
# Указываем точку входа - команду для запуска нашего приложения
|
|
||||||
# Замените DailyDigestWorker.dll на фактическое имя вашей сборки, если оно другое
|
|
||||||
ENTRYPOINT ["dotnet", "DailyDigestWorker.dll"]
|
ENTRYPOINT ["dotnet", "DailyDigestWorker.dll"]
|
Loading…
x
Reference in New Issue
Block a user