Publicación y DevOps
Publicación en producción
Hay tres escenarios razonables para CoreDocs. No todos tienen el mismo coste operativo.
Escenario 1. Ejecución local o manual#
Útil para:
- pruebas
- demos
- revisión editorial
Cómo funciona:
- se ejecuta
python generator.py - la salida va a
output_root - el responsable copia o sirve esa carpeta manualmente
Ventaja:
- simplicidad máxima
Inconveniente:
- sin trazabilidad ni despliegue repetible
Escenario 2. Azure App Service con ZIP deploy#
Es la opción más simple para producción si quieres evitar contenedores.
Flujo:
- generar
dist - comprimir la salida
- desplegar el ZIP a un Web App
Ventajas:
- menos piezas
- menor complejidad operativa
- suficiente para una web estática corporativa
Cuándo elegirlo:
- cuando el portal no necesita runtime especial
- cuando priorizas rapidez de implantación
Escenario 3. Contenedor Docker en App Service#
Úsalo si quieres controlar explícitamente el servidor web y la imagen desplegada.
Flujo:
- generar
dist - copiar
distdentro de una imagen Nginx - publicar la imagen en ACR
- desplegar el contenedor en App Service for Containers
Ventajas:
- mayor reproducibilidad
- configuración del servidor web dentro de la imagen
- mejor encaje si ya trabajáis con ACR y App Service containerizado
Coste adicional:
- registro de contenedores
- gestión de imagen
- pipeline algo más complejo
Recomendación práctica#
Para vuestro caso empezaría así:
CoreDocs.Techdispara build.CoreDocs.Enginegenera artefacto.- Deploy por ZIP a App Service.
- Solo pasar a Docker si necesitáis endurecer el hosting o unificar el estándar de despliegue.
Qué revisar antes de pasar a producción#
base_pathcorrecto- URL de soporte correcta
- logo y textos corporativos correctos
- autenticación validada
- restricciones de acceso del hosting definidas
- política de rollback del artefacto o imagen
Ejemplos entregados#
Dentro de CoreDocs.Engine/examples/ quedan preparados:
- un YAML para build de artefacto
- un YAML para ZIP deploy en App Service
- un YAML para despliegue con contenedor
- un
Dockerfile.static - una configuración básica de
nginx