Schritt 1: Die eigene Landschaft messen statt schätzen
Vor dem Produktvergleich stehen drei Zahlen: wie viele Pipelines wirklich laufen, wie lange sie brauchen und woher sie ihre Zugangsdaten nehmen. Die holst du dir aus den Systemen, nicht aus dem Gedächtnis der Kollegen.
# GitHub: Workflows und die Laeufe der letzten Wochen
gh api /repos/plattform/app/actions/workflows --jq '.workflows[].path'
gh api '/repos/plattform/app/actions/runs?per_page=100' \
--jq '.workflow_runs[] | [.name, .conclusion, .run_started_at] | @tsv'
# GitLab: Pipelines je Projekt
glab api 'projects/plattform%2Fapp/pipelines?per_page=100' \
| jq -r '.[] | [.id, .status, .created_at] | @tsv'
# Azure DevOps: Definitionen und letzte Laeufe
az pipelines list --organization https://dev.azure.com/beispiel \
--project Plattform -o table
az pipelines runs list --organization https://dev.azure.com/beispiel \
--project Plattform --top 50 -o tableVier Werte zählen: Anzahl aktiver Pipelines, mittlere Laufzeit, Anteil der Läufe auf gehosteten Runnern und die Zahl der hinterlegten Secrets. Aus den ersten drei entsteht die Kostenrechnung, aus dem vierten der Migrationsaufwand.
Zähle die Secrets ernsthaft durch, auch die in alten Jobs. Jeder langlebige Cloud-Schlüssel, der in einer Pipeline liegt, wird beim Plattformwechsel entweder mitgeschleppt oder ersetzt, und Ersetzen ist die einzige gute Antwort. Notiere außerdem, welche Jobs interne Systeme erreichen müssen, also Datenbanken, Artefaktspeicher oder Lizenzserver. Diese Liste entscheidet später, ob gehostete Runner überhaupt in Frage kommen oder ob du eigene Maschinen im Netz betreiben musst.
Woran sich die Wahl tatsächlich entscheidet
| Kriterium | Woran du es misst | Wohin es die Wahl kippt |
|---|---|---|
| Identitäten | Woher kommen Anmeldung und Gruppen heute | Entra ID im Haus spricht für Azure DevOps oder GitHub Enterprise |
| Betriebsmodell | Darf die Plattform außerhalb des Hauses laufen | Harte Vorgaben führen zu GitLab im eigenen Rechenzentrum |
| Zielumgebungen | Wohin wird deployt, nach AWS, Azure oder beides | Alle drei können beides, entscheidend ist die Föderation der Rollen |
| Netzzugriff | Brauchen Jobs interne Dienste | Interner Zugriff erzwingt eigene Runner, egal bei welchem Anbieter |
| Nachweispflicht | Wer verlangt Freigaben und Prüfspur | Umgebungsfreigaben mit Vier-Augen-Prinzip gibt es überall, nur anders benannt |
| Bestand | Wie viele Jenkins-Jobs mit welchen Plugins | Viele exotische Plugins verlängern die Ablösung um Monate |