Files
GestionIntegralWeb/Frontend/Dockerfile
dmolinari 21f4facb31 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-16 19:16:24 -03:00

31 lines
944 B
Docker

# --- Etapa 1: Build ---
# Usamos una imagen de Node.js para construir los archivos estáticos de React.
FROM node:20-alpine AS build
WORKDIR /app
# Copiamos los archivos de dependencias y las instalamos.
COPY package.json package-lock.json ./
RUN npm install
# Copiamos el resto del código del frontend.
COPY . .
# Ejecutamos el script de build de Vite, que genera la carpeta 'dist'.
RUN npm run build
# --- Etapa 2: Serve ---
# Usamos una imagen de Nginx súper ligera para servir los archivos estáticos.
FROM nginx:stable-alpine
WORKDIR /usr/share/nginx/html
# Eliminamos el index.html por defecto de Nginx.
RUN rm -f index.html
# Copiamos los archivos construidos desde la etapa anterior a la carpeta que Nginx sirve.
COPY --from=build /app/dist .
# Nginx por defecto escucha en el puerto 80, así que lo exponemos.
EXPOSE 80
# Comando para iniciar Nginx. Esto asegura que se mantenga corriendo.
CMD ["nginx", "-g", "daemon off;"]