Diseño de una arquitectura basada en contenedores para la integración y el despliegue continuo (CI/CD) - Maggi, Denis (My University, 2020)
En este trabajo se ha diseñado e implementado una arquitectura para el desarrollo de aplicaciones con el uso de la tecnología de contenedores, dotándola de Integración Continua (CI) mediante la automatización de tareas con shell scripts y el uso de servicios externos, así como de Despliegue Continuo (CD) con la herramienta Jenkins. En primer lugar se ha elegido una aplicación ejemplo, analizando qué recursos y configuraciones requiere (e.g., ficheros) para su integración en contenedores. Esta aplicación sería la que está en desarrollo en un contexto de una empresa de software. Tras la elección, se ha estructurado el proyecto según los diferentes servicios que componen la aplicación. Se han realizado las configuraciones y el desarrollo para servir la aplicación en una máquina local con el fin de seguir cambiando y depurando la aplicación. Además de asegurar un despliegue seguro, escalable y de alta disponibilidad para el público en servidores remotos. También se ha especificado y recomendado un flujo de trabajo con el que poder aplicar las diferentes técnicas empleadas, tales como, el versionado de archivos, versionado de imágenes, automatización del despliegue, etc. Por último se integran servicios adicionales para la gestión y el mantenimiento del servicio.
Design of a container-based architecture for the integration and continous delivery (CI/CD)
Keywords: Arquitectura de ordenadores; Computación en nube; Informática - Trabajos Fin de Grado; Grado en Ingeniería Informática - Trabajos Fin de Grado; Contenedores; Arquitectura basada en la nube; Escalado horizontal; Integración continua; Despliegue continuo; Integración