Files
GestionIntegralWeb/Backend/GestionIntegral.Api/Dockerfile

46 lines
1.7 KiB
Docker
Raw Normal View History

Ajustes de CI/CD. fix: Run jobs on runner host to resolve network issues Reseteo de estado por fallas del deply. Reversión. Nuevo testeo de CI/CD. Reversión 2. Fix Reversión 3 Test con sh-runner Reversión antes de cambio de foco. Sin sh-runner. No puede resolver gitea. Debe usar el secreto REGISTRY_URL. Test con Gitea 1.21.11 Reversion 1.24.0 Va Este Final? A ver... Nuevo Cambio de Enfoque para CI/CD. Se intenta uso de Drone. Fix de yml para Drone. Retry .drone.yml Fix problema de indentación. Retry yml Va Retry mil Nuevo test Fix: Configure docker plugin for insecure registry Forzar la network. Retry 0142 Test Webhook Se agregan debug-network para verificar valores. Se agregan daemon_dns para poder resolver los dominios de nuget desde los contenedores de despliegue. Cambio de enfoque. Parametro para MTU (Maximum Transmission Unit) añadidos. Prueba: Usar el Socket de Docker del Host Fix indentación. Y Trusted en Drone. Linter: duplicate step name Todos los registros de contenedores (Docker Hub, Gitea, etc.) exigen que los nombres de las imágenes de Docker estén en minúsculas. El pipeline está intentando crear una imagen llamada dmolinari/GestionIntegralWeb-backend, pero la parte GestionIntegralWeb contiene mayúsculas. Esto ocurre porque la variable de Drone ${DRONE_REPO_NAME} toma el nombre directamente de Gitea, que en este caso es GestionIntegralWeb. La sintaxis es: ${VARIABLE,,}. Se añade la URL del registro al nombre del repo Cabio de Variable por valor directo. Retry 1806 Retry 1807 Webhook gitea Enable. Added: privileged: true Test con Kaniko Fix yml Retest Cambio de imagen kaniko Cambio por host
2025-06-14 22:11:02 -03:00
# --- Etapa 1: Build ---
# Usamos el SDK de .NET 9 (o el que corresponda) para compilar.
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
WORKDIR /src
# Copiamos los archivos de proyecto (.sln y .csproj) y restauramos las dependencias.
# Esto es una optimización de caché de Docker.
COPY GestionIntegralWeb.sln .
COPY Backend/GestionIntegral.Api/GestionIntegral.Api.csproj Backend/GestionIntegral.Api/
# Restauramos los paquetes NuGet.
RUN dotnet restore "GestionIntegralWeb.sln"
# Copiamos todo el resto del código fuente.
COPY . .
# Nos movemos al directorio del proyecto y lo construimos en modo Release.
WORKDIR "/src/Backend/GestionIntegral.Api"
RUN dotnet build "GestionIntegral.Api.csproj" -c Release -o /app/build
# --- Etapa 2: Publish ---
# Publicamos la aplicación, lo que genera los artefactos listos para producción.
FROM build AS publish
RUN dotnet publish "GestionIntegral.Api.csproj" -c Release -o /app/publish /p:UseAppHost=false
# --- Etapa 3: Final ---
# Usamos la imagen de runtime de ASP.NET, que es mucho más ligera que el SDK.
FROM mcr.microsoft.com/dotnet/aspnet:9.0
WORKDIR /app
2025-06-19 14:47:43 -03:00
# Instalar dependencias de Chromium en la imagen de ASP.NET (basada en Debian)
2025-06-20 08:21:45 -03:00
RUN apt-get update && apt-get install -y --no-install-recommends \
libgbm1 libgbm-dev \
libgconf-2-4 libgdk-pixbuf2.0-0 libgtk-3-0 \
libnss3 libxss1 libasound2 libxtst6 \
ca-certificates fonts-liberation lsb-release xdg-utils wget \
&& rm -rf /var/lib/apt/lists/*
2025-06-19 14:47:43 -03:00
2025-06-19 17:17:50 -03:00
COPY --from=publish /app/publish .
Ajustes de CI/CD. fix: Run jobs on runner host to resolve network issues Reseteo de estado por fallas del deply. Reversión. Nuevo testeo de CI/CD. Reversión 2. Fix Reversión 3 Test con sh-runner Reversión antes de cambio de foco. Sin sh-runner. No puede resolver gitea. Debe usar el secreto REGISTRY_URL. Test con Gitea 1.21.11 Reversion 1.24.0 Va Este Final? A ver... Nuevo Cambio de Enfoque para CI/CD. Se intenta uso de Drone. Fix de yml para Drone. Retry .drone.yml Fix problema de indentación. Retry yml Va Retry mil Nuevo test Fix: Configure docker plugin for insecure registry Forzar la network. Retry 0142 Test Webhook Se agregan debug-network para verificar valores. Se agregan daemon_dns para poder resolver los dominios de nuget desde los contenedores de despliegue. Cambio de enfoque. Parametro para MTU (Maximum Transmission Unit) añadidos. Prueba: Usar el Socket de Docker del Host Fix indentación. Y Trusted en Drone. Linter: duplicate step name Todos los registros de contenedores (Docker Hub, Gitea, etc.) exigen que los nombres de las imágenes de Docker estén en minúsculas. El pipeline está intentando crear una imagen llamada dmolinari/GestionIntegralWeb-backend, pero la parte GestionIntegralWeb contiene mayúsculas. Esto ocurre porque la variable de Drone ${DRONE_REPO_NAME} toma el nombre directamente de Gitea, que en este caso es GestionIntegralWeb. La sintaxis es: ${VARIABLE,,}. Se añade la URL del registro al nombre del repo Cabio de Variable por valor directo. Retry 1806 Retry 1807 Webhook gitea Enable. Added: privileged: true Test con Kaniko Fix yml Retest Cambio de imagen kaniko Cambio por host
2025-06-14 22:11:02 -03:00
# El puerto en el que la API escuchará DENTRO del contenedor.
# Usaremos 8080 para evitar conflictos si en el futuro corres algo en el puerto 80.
EXPOSE 8080
# El comando para iniciar la API cuando el contenedor arranque.
ENTRYPOINT ["dotnet", "GestionIntegral.Api.dll"]