Creado apartir del commit b888de6c92056de294456f581a56e25e734d4ab7 de develop

This commit is contained in:
jrojas
2026-06-26 09:52:35 +02:00
commit 319fd3dfb0
746 changed files with 106610 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
# --------------------------------------------------------------------------------------
# 1. ETAPA DE CONSTRUCCIÓN (BUILD STAGE)
# Utiliza la imagen SDK para compilar la aplicación.
# --------------------------------------------------------------------------------------
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY NuGet.Config .
# Copia los archivos de proyecto (.csproj) de cada subdirectorio y restáuralos.
# Esto aprovecha el caché de Docker si solo cambian los paquetes, no el código.
COPY ["adas-core/adas-core.csproj", "adas-core/"]
COPY ["adas-core.Application/adas-core.Application.csproj", "adas-core.Application/"]
COPY ["adas-core.Authentication/adas-core.Authentication.csproj", "adas-core.Authentication/"]
COPY ["adas-core.Domain/adas-core.Domain.csproj", "adas-core.Domain/"]
COPY ["adas-core.Infrastructure/adas-core.Infrastructure.csproj", "adas-core.Infrastructure/"]
COPY ["adas-core.LdapLogin/adas-core.LdapLogin.csproj", "adas-core.LdapLogin/"]
COPY ["adas-core.LocalLogin/adas-core.LocalLogin.csproj", "adas-core.LocalLogin/"]
COPY ["adas-core.module.LightBeacons/adas-core.module.LightBeacons.csproj", "adas-core.module.LightBeacons/"]
COPY ["adas-core.module.ProxyDevices/adas-core.module.ProxyDevices.csproj", "adas-core.module.ProxyDevices/"]
COPY ["adas-core.module.Relays/adas-core.module.Relays.csproj", "adas-core.module.Relays/"]
COPY ["adas-core.Test/adas-core.Test.csproj", "adas-core.Test/"]
# ... (Añade COPY para el resto de proyectos .csproj: LdapLogin, LocalLogin, modules, Test si son dependencias)
# Copia el archivo de solución (.sln) si existe, si no, usa el siguiente comando con los .csproj
# En este caso, asumiremos que se restaura y compila por proyecto principal.
# Si tienes un archivo de solución, es mejor copiarlo aquí.
# Restaura las dependencias (NuGet)
RUN dotnet restore "adas-core/adas-core.csproj"
# Copia el resto de los archivos fuente (todo el código)
COPY . .
# Cambia al directorio del proyecto principal
WORKDIR /src/adas-core
# Publica la aplicación final en modo Release
# El argumento -o /app/publish indica dónde se guardará el resultado de la publicación.
RUN dotnet publish "adas-core.csproj" -c Release -o /app/publish /p:UseAppHost=false
# --------------------------------------------------------------------------------------
# 2. ETAPA FINAL (RUNTIME STAGE)
# Utiliza la imagen de ejecución, que es más pequeña y no contiene herramientas de compilación.
# --------------------------------------------------------------------------------------
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS final
WORKDIR /app
# Copia los archivos publicados desde la etapa 'build'
COPY --from=build /app/publish .
# Define el punto de entrada de la aplicación
# Este es el nombre del ensamblado DLL principal
ENTRYPOINT ["dotnet", "adas-core.dll"]
# El puerto de escucha por defecto de ASP.NET Core en Docker es el 8080 (o 80 en versiones anteriores)
ENV ASPNETCORE_URLS=http://+:80
EXPOSE 80