GitLab Runner: 4. Service erstellen

Diese Dokumentation ist Teil des Automatisieren mit der CLI-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Starten Sie GitLab-Runner, rufen Sie dessen Zugangsdaten ab und ändern Sie die Konfiguration programmatisch mit der Stackhero CLI.

👋 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!

Hier ein Beispielskript, das einen Stack erstellt, Ihren GitLab-Runner Service hinzufügt, auf den Start wartet, die Konfiguration (inklusive generierter Zugangsdaten) abruft und anschließend eine neue Konfiguration anwendet.

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="gitlab-runner"   # Der Name des GitLab-Runner Service Stores (siehe Schritt 2)
instance="..."                # Eine Instanzgröße aus Schritt 3
region="europe"               # Ein Regionsname aus Schritt 3

# Stack für Ihren Service erstellen (verwendet Ihre Standard-Organisation; ggf. --organization hinzufügen)
stackId=$(stackhero --format=script stack-create \
  --name="My GitLab-Runner stack")
echo "Stack erstellt: ${stackId}"

# GitLab-Runner zum Stack hinzufügen (Namen werden automatisch aufgelöst)
serviceId=$(stackhero --format=script service-add \
  --stack="My GitLab-Runner stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Service hinzugefügt: gitlab-runner"

# Warten, bis der Service vollständig läuft (dies kann einige Minuten dauern)
stackhero service-wait-for --service="gitlab-runner"

# Service-Konfiguration inklusive generierter Zugangsdaten abrufen
stackhero service-configuration-get --service="gitlab-runner" --format=json