Diese Version von GitHub Enterprise wurde eingestellt am 2021-09-23. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für eine bessere Leistung, verbesserte Sicherheit und neue Features nimm ein Upgrade auf die neueste Version von GitHub Enterprise vor. Wende Dich an den GitHub Enterprise-Support, um Hilfe beim Upgrade zu erhalten.

Canceling a workflow

You can cancel a workflow run that is in progress. When you cancel a workflow run, GitHub cancels all jobs and steps that are a part of that workflow.

Note: GitHub Actions was available for GitHub Enterprise Server 2.22 as a limited beta. The beta has ended. GitHub Actions is now generally available in GitHub Enterprise Server 3.0 or later. For more information, see the GitHub Enterprise Server 3.0 release notes.


Note: GitHub-hosted runners are not currently supported on GitHub Enterprise Server. You can see more information about planned future support on the GitHub public roadmap.

Write access to the repository is required to perform these steps.

Einen Workflow-Lauf abbrechen

  1. Navigiere in GitHub Enterprise Server zur Hauptseite des Repository.

  2. Klicke unter Deinem Repository-Namen auf Actions (Aktionen). Registerkarte „Actions" (Aktionen) auf der Navigationsleiste des Haupt-Repository

  3. Klicke in der linken Seitenleiste auf den Workflow, den Du sehen willst. Workflow-Liste in der linken Seitenleiste

  4. From the list of workflow runs, click the name of the queued or in progress run that you want to cancel. Name der Workflow-Ausführung

  5. In the upper-right corner of the workflow, click Cancel workflow.

    Schaltfläche zum Abbrechen der Prüfsuite

Steps GitHub takes to cancel a workflow run

Beim Abbrechen der Workflowausführung führen Sie möglicherweise andere Software aus, die Ressourcen verwendet, die mit der Workflowausführung zusammenhängen. To help you free up resources related to the workflow run, it may help to understand the steps GitHub performs to cancel a workflow run.

  1. Um die Workflowausführung abzubrechen, wertet der Server neu aus, wenn Bedingungen für alle derzeit ausgeführten Aufträge. Wenn die Bedingung als truewird, wird der Auftrag nicht abgebrochen. Beispielsweise <code>die Bedingung, ob: always() als true ausgewertet wird und der Auftrag weiterhin ausgeführt wird. Wenn keine Bedingung vorhanden ist, entspricht dies der Bedingung wenn: success(), die nur ausgeführt wird, wenn der vorherige Schritt erfolgreich abgeschlossen wurde.
  2. Bei Aufträgen, die abgebrochen werden müssen, sendet der Server eine Abbruchnachricht an alle Läufercomputer mit Aufträgen, die abgebrochen werden müssen.
  3. Bei Aufträgen, die weiterhin ausgeführt werden, wertet der Server neu aus, ob Bedingungen für die unvollendeten Schritte. Wenn die Bedingung als true`wird, wird der Schritt weiterhin ausgeführt.
  4. Für Schritte, die abgebrochen werden müssen, sendet die Läufermaschine SIGINT/Ctrl-C-` an den Schritteingabeprozess (`Knoten` für Javascript-Aktion, `docker` für Containeraktion und `bash/cmd/pwd` , wenn sie in einem Schritt verwenden `ausführen). Wenn der Prozess nicht innerhalb von 7500 ms beendet wird, sendet der Läufer SIGTERM/Ctrl-Break-` an den Prozess, und wartet dann 2500 ms, bis der Prozess beendet wird. Wenn der Prozess noch ausgeführt wird, tötet der Läufer den Prozessbaum.
  5. Nach ablaufen 5 Minuten Abbruchzeit zeitoutt der Server das Beenden aller Aufträge und Schritte, die die Ausführung nicht beenden oder den Abbruchvorgang nicht abschließen können.