Saltar al contenido principal

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.