Ansible y Docker
Proceso Ansible:
-
Preparación del Entorno (Playbooks 01-04): -Se configura un servidor Ubuntu con usuarios, permisos, Docker y PostgreSQL. -Se crea y configura una base de datos PostgreSQL para la aplicación Voyager.
-
Despliegue de la Aplicación (dos opciones):
-
Opción A: Usando Docker Hub:
-
Se prepara la configuración de la aplicación (directorios, archivos .env).
-
Se genera un docker-compose.yml que apunta a imágenes en Docker Hub.
-
Se descargan las imágenes y se lanza la aplicación con docker-compose.
-
Opción B: Usando un Registro Local:
- Se configura un registro de Docker privado en el propio servidor.
- Se descargan, cargan y etiquetan las imágenes de Voyager para el registro local.
- Se prepara la configuración de la aplicación de forma similar a la Opción A, pero se usa un docker-compose.yml que apunta al registro local.
- Se descargan las imágenes desde el registro local y se lanza la aplicación.
-
Este proyecto de Ansible ofrece un método de despliegue completo y flexible para la aplicación Voyager, permitiendo al usuario elegir entre un despliegue rápido desde Docker Hub o un despliegue más controlado y aislado usando un registro local.
Docker
-
Para Voyager-Pioneer:
- Se utilizan 2 imagenes, (scala y golang), scala incluye la interfaz gráfica
-
Para Portal de Clientes:
- Se utilizan 2 imagenes (Angular y golang)
- Se utilizan archivos .env para la configuraciones adicionales, como conexión a la base de datos, conexión entre sistemas, establecimiento de datos de correo electrónico
Proceso de Actualizaciones
- Actualmente se genera una imagen docker con docker build para la funcionalidad nueva/actualización correspondiente al sistema.
- Esa imagen se sube con docker push al registry privado de enterprise y luego se despliega en el servidor de desarrollo para testing.
- Luego esa imagen es obtenida para el servidor de Producción y se realiza un docker pull para obtener la nueva imagen, y un docker compose up -d para volver a levantar el servicio actualizado.