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

Probar antes de enviar con GitHub Actions


En algunos casos, es posible que quieras validar que la imagen funciona según lo esperado antes de enviarla. El siguiente flujo de trabajo implementa varios pasos para lograr esto:

  1. Compilar y exportar la imagen a Docker
  2. Probar la imagen
  3. Compilar para múltiples plataformas y enviar la imagen
name: ci

on:
  push:

env:
  TEST_TAG: user/app:test
  LATEST_TAG: user/app:latest

jobs:
  docker:
    runs-on: ubuntu-latest
    steps:
      - name: Iniciar sesión en Docker Hub
        uses: docker/login-action@v4
        with:
          username: ${{ vars.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}

      - name: Configurar QEMU
        uses: docker/setup-qemu-action@v4

      - name: Configurar Docker Buildx
        uses: docker/setup-buildx-action@v4

      - name: Compilar y exportar a Docker
        uses: docker/build-push-action@v7
        with:
          load: true
          tags: ${{ env.TEST_TAG }}

      - name: Probar
        run: |
          docker run --rm ${{ env.TEST_TAG }}

      - name: Compilar y enviar
        uses: docker/build-push-action@v7
        with:
          platforms: linux/amd64,linux/arm64
          push: true
          tags: ${{ env.LATEST_TAG }}
Note

La imagen linux/amd64 solo se compila una vez en este flujo de trabajo. La imagen se compila una vez, y los siguientes pasos utilizan la caché interna del primer paso Compilar y exportar a Docker. El segundo paso Compilar y enviar solo compila linux/arm64.