Kostenloses Tool

GitLab CI visualisieren

Fügen Sie eine .gitlab-ci.yml ein und erhalten Sie ein bearbeitbares GitLab-CI-Pipeline-Diagramm: Stages als Spalten, Jobs in ihrer Stage, needs-Verbindungen, die vorgreifen, Child-Pipelines und Environments. Zum Ausprobieren brauchen Sie kein Konto.

Beispielausgabe

Beispieldiagramm aus einem GitLab CI-Beispiel
Beispiel ausprobierenMonorepo-Pipeline

So funktioniert es

  1. .gitlab-ci.yml einfügen oder ablegen

    Die Pipeline-Datei aus dem Stammverzeichnis Ihres Projekts. YAML-Anker, extends-Vorlagen und !reference-Tags sind kein Problem, und ein spec-Header einer CI/CD-Komponente am Anfang wird übersprungen.

  2. Pipeline in Spalten ansehen

    Stages werden zu Spalten von links nach rechts, jeder Job steht in der Spalte seiner Stage, und needs verbinden die Jobs, die vor ihrer Stage starten.

  3. In Archboard öffnen

    Speichern Sie es als neues Diagramm, um Jobs umzuordnen, Notizen zu ergänzen, einen Link zu teilen oder als SVG und PNG zu exportieren. Für die Registrierung genügt ein Google- oder GitHub-Konto.

Was aus einer .gitlab-ci.yml gezeichnet wird

Das Diagramm folgt diesen Schlüsselwörtern in Ihrer Pipeline-Datei:

  • stagesstage

    Stages als Spalten in der Reihenfolge Ihrer stages-Liste, ohne Liste build, test und deploy. Ein Job ohne Stage landet in test, und Stages ohne Jobs werden nicht gezeichnet.

  • script

    Jeder Job als Karte in der Spalte seiner Stage. Schlüssel, die mit einem Punkt beginnen, sind Vorlagen: Sie werden nicht als Jobs gezeichnet, prägen aber weiterhin die Jobs, die von ihnen erben.

  • needsneeds: []

    Eine Verbindung von jedem unter needs aufgeführten Job, sodass Jobs, die vor ihrer Stage starten, auffallen. needs: [] markiert einen Job, der sofort startet. Gestrichelt ist eine Verbindung, wenn der needs-Eintrag optional ist oder der wartende Job rules, only oder except hat.

  • extends

    extends wird über bis zu 11 Vorlagenebenen aufgelöst, zusammen mit YAML-Ankern und Merge-Keys, sodass geerbte Werte für stage, needs, when, parallel, trigger und environment gezeichnet werden.

  • parallelparallel:matrix

    parallel: 3 oder parallel:matrix lässt den Job eine einzige Karte bleiben, markiert mit ×3 oder der Zahl der Matrix-Kombinationen.

  • trigger

    Trigger-Jobs, verbunden mit einer Karte für das, was sie starten: die Child-Pipeline-Datei aus trigger: include oder das Downstream-Projekt aus trigger: project.

  • environment

    Jedes Environment, etwa review, staging oder production, als Karte, verbunden von den Jobs, die dorthin deployen.

  • when: manual

    Manuelle Jobs mit der Markierung · manual, damit die Freigabeschritte Ihrer Pipeline auffallen.

Was ein GitLab-CI-Diagramm weglässt

  • Konfiguration, die per include eingebunden wird, ob lokale Dateien, andere Projekte, entfernte URLs, Vorlagen oder CI/CD-Komponenten: Sie wird nicht geladen, und Jobs, die von einer Vorlage aus diesen Dateien erben, werden in den Warnungen aufgeführt.
  • Ob rules, only oder except einen Job hinzufügen oder überspringen würden: Sie werden nicht ausgewertet, daher wird jeder Job gezeichnet.
  • Variablen und ihre Werte, Skripte, Images, Caches und Artefaktpfade.
  • Pipeline-Läufe: Job-Status, Laufzeiten, Logs und Artefakte. Das Diagramm zeigt die Konfiguration, nicht einen bestimmten Lauf.

Fragen zum GitLab-CI-Visualizer

Was passiert mit include?

Eingebundene Dateien werden nicht geladen, daher werden nur die Jobs gezeichnet, die in der eingefügten Datei stehen. Um die Jobs einer eingebundenen Datei zu sehen, fügen Sie diese Datei einzeln ein oder führen Sie die Dateien vorher zusammen.

Werden extends und Hidden Jobs aufgelöst?

Ja. extends wird so zusammengeführt wie in GitLab: Hashes werden tief zusammengeführt und Arrays ersetzt, über bis zu 11 Ebenen. Hidden Jobs, deren Namen mit einem Punkt beginnen, werden nicht gezeichnet, prägen aber weiterhin die Jobs, die von ihnen erben. YAML-Anker mit Merge-Keys funktionieren ebenfalls; !reference-Tags werden nicht aufgelöst.

Wie werden Stages und needs zusammen dargestellt?

Stages sind Spalten, die Spalte eines Jobs zeigt also, wann er standardmäßig läuft. Eine needs-Verbindung zeigt einen Job, der startet, sobald die aufgeführten Jobs fertig sind. Ohne needs sind Jobs nicht verbunden, und allein die Spalten zeigen die Reihenfolge. needs, die auf andere Pipelines oder Projekte verweisen, werden in den Warnungen aufgeführt.

Werden Child- und Downstream-Pipelines gezeichnet?

Ja, als Karten. Ein Job mit trigger: include zeigt auf die Child-Pipeline-Datei, ein Job mit trigger: project auf das Downstream-Projekt. Die Jobs darin werden nicht aufgeklappt; fügen Sie die Child-Pipeline-Datei ein, um sie zu zeichnen.

Was passiert, wenn ich das Diagramm in Archboard öffne?

Die Vorschau auf dieser Seite wird nicht gespeichert. Wenn Sie „In Archboard öffnen“ wählen, wird das angezeigte Diagramm mit Stages, Jobs und Verbindungen als neues Diagramm in Ihrem Workspace gespeichert. Dort können Sie es umordnen, kommentieren, teilen oder exportieren. Es ist ein Ausgangspunkt: Spätere Änderungen an Ihrer .gitlab-ci.yml aktualisieren das Diagramm nicht.

Ist der GitLab-CI-Visualizer kostenlos?

Ja. Zum Einfügen einer Pipeline-Datei und Ansehen des Diagramms brauchen Sie kein Konto. Zum Öffnen in Archboard genügt ein kostenloses Konto.

In einer Minute ein Canvas öffnen

Melden Sie sich mit Google oder GitHub an. Kostenlos für einen Sitzplatz. Upgrade, wenn das Team dazukommt.