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.