Fuente validada
Lab_10_Docker_Actions.docx
Esta pagina fue reconstruida desde el documento del ZIP entregado como fuente principal.
Laboratorio 10
Automatización completa del ciclo de vida de imágenes Docker: build, test, push a registry usando GitHub Actions y Container Registry.
Fuente validada
Esta pagina fue reconstruida desde el documento del ZIP entregado como fuente principal.
Conformidad visual
El archivo fuente contiene 0 imagenes embebidas. Para garantizar conformidad, no se publican imagenes heredadas de otros materiales.
Criterio GH-300
Ejecuta los comandos, captura evidencia propia y valida cada sugerencia de Copilot antes de aceptarla.
Certificación GH-300
Publicar Imagen Docker con GitHub Actions
Autor: Carlos Crudo
linkedin.com/in/carloscrudo
Automatización completa del ciclo de vida de imágenes Docker: build, test, push a registry usando GitHub Actions y Container Registry.
Temas que cubre este laboratorio:
Dockerfile y multi-stage builds
GitHub Container Registry (ghcr.io)
Build y push de imágenes Docker
Etiquetado de imágenes (tags, SHA, semver)
Secrets para autenticación al registry
Objetivos:
Imagina que estás desarrollando un proyecto de software que quieres empaquetar y distribuir como una imagen Docker. Para agilizar el proceso de despliegue y asegúrate de que tu imagen Docker se publique de forma consistente en GitHub En paquetes, decides usar GitHub Actions para automatización. Esto será te permiten configurar un flujo de trabajo que automatiza la publicación de tu Imagen Docker cada vez que se realicen cambios, asegurando que tu proyecto esté siempre actualizado y disponible para su despliegue.
En este laboratorio práctico, tú deberás:
Configura un archivo de flujo de trabajo de GitHub Actions que automatize el proceso de construir y publicar tu imagen en Docker.
Configura el flujo de trabajo para construir tu imagen de Docker y envíala a Paquetes de GitHub, asegurando que la imagen se publique correctamente.
Crea una solicitud pull para ver todos los cambios que has hecho.
Navega hasta el siguiente enlace: https://github.com/skills/publish-packages
En este laboratorio crearás el repositorio usando una plantilla pública "Paquetes de habilidades-publicación".
Selecciona Crear un nuevo repositorio en el menú Usar esta plantilla.
Introduce los siguientes datos y selecciona Crear Repositorio.
Nombre del repositorio: Paquetes de publicación de habilidades
Tipo de repositorio: Público
Haz clic en el botón Código en la barra de navegación principal en el repositorio que acabas de crear.
En el desplegable de la rama principal, selecciona cd branch.
En la siguiente página, navega a la carpeta .github/workflows/, luego selecciona Añadir archivo y haz clic en Crear nuevo archivo.
En el campo Nombre de tu archivo, introduce publish.yml
Añade el siguiente código al archivo publish.yml.
name: Publish to Docker
on:
push:
branches:
main
permissions:
packages: write
contents: read
jobs:
publish:
runs-on: ubuntu-latest
steps:
name: Checkout
uses: actions/checkout@v4
*# Add your test steps here if needed...*
name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/YOURNAME/publish-packages/game
tags: type=sha
name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
name: Build container
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
Sustituye TU nombre por tu nombre de usuario.
Asegúrate de que el nombre de la imagen sea único, haz clic en Commit cambios.
Haz clic en Confirmar cambios una vez más.
Ahora crea una pull request para ver todos los cambios que has hecho en el Por encima del ejercicio.
Haz clic en la pestaña de Solicitudes de Tirada en la barra de navegación.
Haz clic en Nueva solicitud de tirada.
En la página Comparando cambios, establece base: main y compare:cd y luego haz clic en Crear pull request.
En la página Añadir una página de título, haz clic en Crear solicitud pull.
Espera 20 segundos a que se ejecuten las acciones y revisa los resultados.
Ahora has adquirido experiencia práctica usando GitHub Actions para automatizar la publicación de imágenes Docker, mejorando tu capacidad para Optimizar los procesos de despliegue y mantener el proyecto actualizado distribuciones.