Compartir una imagen compilada entre trabajos con GitHub Actions
Dado que cada trabajo (job) está aislado en su propio runner, no puedes utilizar tu imagen compilada entre trabajos, a menos que utilices runners autohospedados (self-hosted runners) o Docker Build Cloud. Sin embargo, puedes pasar datos entre trabajos en un flujo de trabajo utilizando las acciones actions/upload-artifact y actions/download-artifact:
name: ci
on:
push:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Configurar Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Compilar y exportar
uses: docker/build-push-action@v7
with:
tags: myimage:latest
outputs: type=docker,dest=${{ runner.temp }}/myimage.tar
- name: Subir artefacto
uses: actions/upload-artifact@v4
with:
name: myimage
path: ${{ runner.temp }}/myimage.tar
use:
runs-on: ubuntu-latest
needs: build
steps:
- name: Descargar artefacto
uses: actions/download-artifact@v4
with:
name: myimage
path: ${{ runner.temp }}
- name: Cargar imagen
run: |
docker load --input ${{ runner.temp }}/myimage.tar
docker image ls -a