Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Verwenden von Aufträgen in einem Workflow

Verwende Workflows, um mehrere Aufträge auszuführen.

Hinweis: GitHub-gehostete Runner werden auf GitHub Enterprise Server derzeit nicht unterstützt. Weitere Informationen zur geplanten zukünftigen Unterstützung findest Du in der GitHub public roadmap.

Übersicht

Eine Workflowausführung besteht aus einem oder mehreren jobs, die standardmäßig parallel ausgeführt werden. Um Aufträge nacheinander auszuführen, kannst du mit dem Schlüsselwort jobs.<job_id>.needs Abhängigkeiten von anderen Aufträgen definieren.

Jeder Auftrag wird in einer durch runs-on festgelegten Runnerumgebung ausgeführt.

Innerhalb der Nutzungsbeschränkungen des Workflows kannst Du unbegrenzt viele Jobs ausführen. Weitere Informationen findest du unter Nutzungseinschränkungen und Abrechnung für auf GitHub gehostete Runner und unter Informationen zu selbstgehosteten Runnern für Nutzungseinschränkungen für selbstgehostete Runner.

Wenn du den eindeutigen Bezeichner eines Auftrags in einer Workflowausführung ermitteln musst, kannst du die GitHub Enterprise Server-API verwenden. Weitere Informationen findest du unter Workflowaufträge.

Festlegen einer ID für einen Auftrag

Verwende jobs.<job_id>, um deinem Auftrag einen eindeutigen Bezeichner zu geben. Der Schlüssel job_id ist ein String und der Wert umfasst eine Zuordnung der Konfigurationsdaten für den Auftrag. Du musst <job_id> mit einer Zeichenfolge ersetzen, die für das jobs-Objekt eindeutig ist. <job_id> muss mit einem Buchstaben oder _ beginnen und darf nur alphanumerische Zeichen, - oder _ enthalten.

Beispiel: Erstellen von Aufträgen

In diesem Beispiel wurden zwei Aufträge erstellt und ihre job_id-Werte sind my_first_job und my_second_job.

jobs:
  my_first_job:
    name: My first job
  my_second_job:
    name: My second job

Festlegen eines Namens für einen Auftrag

Mit jobs.<job_id>.name legst du einen Namen für den Auftrag fest, der auf der Benutzeroberfläche von GitHub angezeigt wird.

Definieren von erforderlichen Aufträgen

Verwende jobs.<job_id>.needs, um alle Aufträge zu identifizieren, die erfolgreich abgeschlossen sein müssen, bevor dieser Auftrag ausgeführt wird. Hier ist ein String oder ein Array mit Strings zulässig. Wenn ein Auftrag fehlschlägt, werden alle Aufträge übersprungen, die diesen Auftrag benötigen, außer die Aufträge umfassen einen bedingte Ausdruck, mit dem der Auftrag dennoch fortgesetzt wird. Wenn eine Ausführung eine Reihe von Aufträgen enthält, die voneinander abhängig sind, wird ein Fehler auf alle Aufträge in der Abhängigkeitskette ab dem Fehlerpunkt angewendet.

Beispiel: Erfordern erfolgreicher abhängiger Aufträge

jobs:
  job1:
  job2:
    needs: job1
  job3:
    needs: [job1, job2]

In diesem Beispiel muss job1 erfolgreich abgeschlossen sein, bevor job2 beginnt, und job3 wartet darauf, dass job1 und job2 angeschlossen werden.

Die Aufträge in diesem Beispiel werden sequenziell ausgeführt:

  1. job1
  2. job2
  3. job3

Beispiel: Nicht Erfordern erfolgreicher abhängiger Aufträge

jobs:
  job1:
  job2:
    needs: job1
  job3:
    if: ${{ always() }}
    needs: [job1, job2]

In diesem Beispiel verwendet job3 den bedingten Ausdruck always(), sodass er immer nach Abschluss von job1 und job2 ausgeführt wird, unabhängig davon, ob sie erfolgreich waren. Weitere Informationen findest du unter Ausdrücke.