GitLab Runner: Acelerar builds repetidos

Esta documentación forma parte de la guía Crear imágenes Docker. Consulte la guía completa aquí: Crea y publica imágenes Docker de forma eficiente desde tus pipelines de GitLab CI/CD utilizando runners de Stackhero y Docker-in-Docker.

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero le ofrece una solución GitLab Runner cloud fácil de usar, diseñada para gestionar sus trabajos de GitLab CI/CD de manera eficiente. Esto es lo que puede esperar:

  • Minutos CI/CD ilimitados: no hay facturación por minuto, así que sus pipelines pueden ejecutarse siempre que lo necesite.
  • Múltiples trabajos concurrentes: ejecute varios trabajos al mismo tiempo para acelerar todo su pipeline.
  • Docker executor con soporte para Docker-in-Docker: simplifique la construcción y el push de sus imágenes de contenedor.
  • Compatible con GitLab.com y cualquier instancia GitLab autogestionada.
  • Una VM privada y dedicada impulsada por discos NVMe/SSD rápidos para builds consistentes y fiables.
  • Disponible en las regiones de 🇪🇺 Europa y 🇺🇸 USA.

Ahorre tiempo: puede conectar su primer GitLab Runner y empezar a ejecutar pipelines en solo unos minutos.

El disco de tu runner se mantiene entre pipelines, permitiendo reutilizar las capas de imagen como caché de compilación. Esto puede hacer que los builds repetidos sean mucho más rápidos. Aquí tienes un ejemplo de configuración:

build-cached:
  stage: build
  image: docker:29
  services:
    - docker:29-dind
  variables:
    DOCKER_TLS_CERTDIR: "/certs"
  before_script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
  script:
    # Descarga la última imagen para inicializar la caché (si existe):
    - docker pull "$CI_REGISTRY_IMAGE:latest" || true
    - docker build --cache-from "$CI_REGISTRY_IMAGE:latest" -t "$CI_REGISTRY_IMAGE:latest" .
    - docker push "$CI_REGISTRY_IMAGE:latest"

Este enfoque permite que tus builds aprovechen la caché de capas de Docker, de modo que solo se reconstruyen las capas nuevas o modificadas.