No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Última oportunidad para asegurar tu aprendizaje por 1 año a precio especial

Antes: $249

Currency
$189/año

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

0D
6H
51M
23S
Curso de GitHub Actions

Curso de GitHub Actions

Juan José Torres

Juan José Torres

Integración continua CI: Compilación

13/18
Recursos

Integrar correctamente imágenes de Docker en diversos servicios cloud puede parecer un desafío, pero con la ayuda de GitHub y sus workflows, es más sencillo de lo que imaginas. A continuación, te mostramos cómo hacerlo utilizando ejemplos con AWS, GCP y Azure.

¿Cómo iniciar el flujo de integración en GitHub?

Volver a GitHub es vital cuando hablamos de la segunda parte del flujo de integración continua. En este caso, el foco es el build o compilar que se ejecuta mediante dos tipos de eventos: un workflow dispatch o un issue comment. La elección sobre si se compilará en AWS, GCP o Azure se realiza mediante una opción que se presenta en un input de tipo choice.

¿Cuál es la función del docker- AWS job?

El job docker-aws es el primer trabajo y se ejecuta cuando queremos compilar la imagen y subirla al registry de AWS. Este proceso solo se ejecuta cuando se cumple un condicional que confirma que el evento que lanzó el workflow fue un pull request y que el comentario del pull request contenga 'build-aws'.

¿Cómo configurar QEMU y Docker BuildX?

Para compilar los archivos necesarios para la imagen de Docker, se configura QEMU, una opción de Docker especial, usando una action definida oficialmente por Docker denominada setupQemuAction. Adicionalmente, se utiliza otro action para configurar Docker BuildX, que controla cómo compilar las imágenes y es recomendado para ambientes de producción.

¿Cómo subir la imagen a AWS?

Para subir la imagen a AWS, es necesario configurar credenciales para un usuario IAM de AWS que incluyan un accessKeyId y un secretAccessKey. Luego, nos autenticamos en el Elastic Container Registry (ECR), el servicio que AWS ofrece para subir y mantener imágenes de Docker, utilizando el action AmazonECRlogin.

¿Cómo agregar la imagen a otros proveedores cloud?

Además de AWS, la imagen también se puede agregar a GCP y Azure. En GCP, el registry se llama 'Artifact Registry', y en Azure, es 'Azure Container Registry'. Para cada una de estas opciones, debes buscar acciones en el Marketplace y revisar en foros de la comunidad cómo otras personas subieron sus imágenes de Docker allí.

¿Cómo verificar las imágenes compiladas y cargadas exitosamente?

Para verificar que todas las imágenes han sido compiladas y cargadas de manera exitosa, puedes revisar la pestaña de 'Actions' en GitHub. Aquí, podrás ver los detalles de cada job en el workflow, incluyendo si ha pasado o fallo, cuánto tiempo tardó, y cuál fue el último paso que se ejecutó.

Con estas herramientas, puedes crear tu propio flujo de integración continua para tus proyectos personales. Este proceso te permitirá demostrar experiencia y conocimiento en el uso efectivo de GitHub Actions, Docker y varios servicios cloud. ¡Impresiona a todos con tu dominio de la integración continua!

Aportes 2

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Supongo que el mensaje era “Te invito a tomar la ruta de AWS que tenemos en Platzi para ti” 😅

Esto puede ser por los nervios, las cámaras y que estas tratando de pensar en varias cosas al tiempo mientras grabas o simplemente un error y ya esta.

Me da la sensación de que a medida que el curso avanza muchos usuarios fueron dejando de hacer el curso y fueron dejando de participar.

Esto puedes ser por múltiples razones:

  • El profe se ve bastante tenso al intentar explicar los conceptos.
  • Habla muy rapido y nos es tan sencillo seguirle el paso sobre todo para personas sin ciertos conocimientos previos.
  • Me parece que lo único que hace es leer el código y los slides pero se queda corto al enseñar.

Nada de esto lo digo en mala onda, solo es mi percepción hasta este punto y si sirve de algo para mejorar seria genial, tanto para el profe como para el curso y la estructura, metodología , pedagogía y ejemplos prácticos utilizados, de lo contrario y si me estoy equivocando 🙏 perdón.

Si sirve de algo dejare por aquí un “Presuntamente” 😅

Podrian poner el repositorio usado en esta clase como recurso de la misma Asi podemos revisar mas facil el workflow