Compartir comentarios
Las respuestas se generan en base a la documentación.

Integración continua con Docker

La integración continua (CI) es la parte del proceso de desarrollo en la que buscas fusionar los cambios de tu código con la rama principal del proyecto. En este punto, los equipos de desarrollo ejecutan pruebas y compilaciones para comprobar que los cambios de código no causen ningún comportamiento no deseado o inesperado.

Git branches about to get merged

Existen varios usos para Docker en esta etapa de desarrollo, incluso si no terminas empaquetando tu aplicación como una imagen de contenedor.

Docker como entorno de compilación

Los contenedores son entornos aislados y reproducibles que producen resultados predecibles. Compilar y probar tu aplicación en un contenedor Docker facilita la prevención de comportamientos inesperados. Al utilizar un Dockerfile, defines los requisitos exactos para el entorno de compilación, incluidos los entornos de ejecución (runtimes) de programación, el sistema operativo, los binarios y más.

El uso de Docker para gestionar tu entorno de compilación también facilita el mantenimiento. Por ejemplo, actualizar a una nueva versión de un entorno de ejecución de programación puede ser tan sencillo como cambiar una etiqueta o digest en un Dockerfile. No es necesario conectarse por SSH a una máquina virtual dedicada para reinstalar manualmente una versión más nueva y actualizar los archivos de configuración relacionados.

Además, del mismo modo que esperas que los paquetes de código abierto de terceros sean seguros, lo mismo debería aplicarse a tu entorno de compilación. Puedes escanear e indexar una imagen de constructor (builder), igual que lo harías con cualquier otra aplicación contenedorizada.

Los siguientes enlaces proporcionan instrucciones sobre cómo puedes empezar a utilizar Docker para compilar tus aplicaciones en CI:

Docker en Docker (Docker in Docker)

También puedes utilizar un entorno de compilación dockerizado para compilar imágenes de contenedor utilizando Docker. Es decir, tu entorno de compilación se ejecuta dentro de un contenedor que a su vez está equipado para ejecutar compilaciones de Docker. Este método se denomina "Docker en Docker" (Docker in Docker).

Docker proporciona una imagen oficial de Docker que puedes utilizar para este propósito.

Qué sigue

Docker mantiene un conjunto de GitHub Actions oficiales que puedes utilizar para compilar, anotar y enviar imágenes de contenedor en la plataforma de GitHub Actions. Consulta Introducción a GitHub Actions para obtener más información y comenzar.