GitLab Runner: Wiederholte Builds beschleunigen
Diese Dokumentation ist Teil des Docker-Images bauen-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Bauen und pushen Sie Docker-Images direkt aus Ihren GitLab CI/CD-Pipelines mit Ihrem Stackhero Runner und Docker-in-Docker.
👋 Willkommen in der Stackhero-Dokumentation!
Stackhero bietet Ihnen eine benutzerfreundliche GitLab Runner Cloud-Lösung, die speziell dafür entwickelt wurde, Ihre GitLab CI/CD-Jobs effizient auszuführen. Das erwartet Sie:
- Unbegrenzte CI/CD-Minuten: Es gibt keine Abrechnung pro Minute, sodass Ihre Pipelines jederzeit ausgeführt werden können.
- Mehrere gleichzeitige Jobs: Führen Sie mehrere Jobs parallel aus, um Ihre gesamte Pipeline zu beschleunigen.
- Der Docker Executor mit Docker-in-Docker-Unterstützung: Optimieren Sie das Erstellen und Pushen Ihrer Container-Images.
- Kompatibel mit GitLab.com sowie jeder selbst gehosteten GitLab-Instanz.
- Eine private, dedizierte VM mit schnellen NVMe/SSD-Festplatten für konsistente und zuverlässige Builds.
- Verfügbar in den Regionen 🇪🇺 Europa und 🇺🇸 USA.
Sparen Sie Zeit: Sie können Ihren ersten GitLab Runner verbinden und Ihre Pipelines in nur wenigen Minuten starten!
Da die Festplatte Ihres Runners zwischen den Pipelines bestehen bleibt, können Sie Builds beschleunigen, indem Sie vorherige Image-Layer als Cache wiederverwenden. So können Sie das einrichten:
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:
# Versuchen Sie, das neueste Image zu pullen, um den Cache zu initialisieren (kein Problem, falls es noch nicht existiert):
- 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"
Mit dieser Methode werden Ihre Pipelines im Laufe der Zeit schneller, da Docker's Layer-Caching optimal genutzt wird.