GitLab Runner: Herhaalde builds versnellen

Deze documentatie maakt deel uit van de Docker-images bouwen-gids. Bekijk de volledige gids hier: Bouw en push Docker-images vanuit uw GitLab CI/CD-pipelines met uw Stackhero-runner en Docker-in-Docker.

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt u een gebruiksvriendelijke GitLab Runner cloud oplossing, speciaal ontworpen om uw GitLab CI/CD-jobs efficiënt uit te voeren. Dit kunt u verwachten:

  • Onbeperkte CI/CD-minuten: er is geen facturatie per minuut, dus uw pipelines kunnen draaien wanneer u dat nodig heeft.
  • Meerdere gelijktijdige jobs: voer verschillende jobs tegelijkertijd uit om uw volledige pipeline te versnellen.
  • De Docker executor met ondersteuning voor Docker-in-Docker: maak het bouwen en pushen van uw container images eenvoudiger.
  • Compatibel met GitLab.com en elke self-managed GitLab-instantie.
  • Een privé, dedicated VM aangedreven door snelle NVMe/SSD-schijven voor consistente en betrouwbare builds.
  • Beschikbaar in zowel 🇪🇺 Europa als 🇺🇸 USA regio's.

Bespaar tijd: u kunt uw eerste GitLab Runner koppelen en binnen enkele minuten pipelines uitvoeren!

Omdat de schijf van uw runner persistent is tussen pipelines, kunt u builds versnellen door eerdere imagelagen als cache te hergebruiken. Zo stelt u dat in:

build-cached:
  stage: build
  image: docker:27
  services:
    - docker:27-dind
  variables:
    DOCKER_TLS_CERTDIR: "/certs"
  before_script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
  script:
    # Probeer het laatste image te pullen om de cache te vullen (geen probleem als deze nog niet bestaat):
    - 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"

Deze aanpak zorgt ervoor dat uw pipelines na verloop van tijd sneller afronden door optimaal gebruik te maken van Docker's layer caching.