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
This commit is contained in:
2025-06-14 22:11:02 -03:00
parent 0b8096e734
commit 21f4facb31
4 changed files with 151 additions and 1 deletions

View File

@@ -0,0 +1,37 @@
# --- 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
COPY --from=publish /app/publish .
# 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"]