Hinweis
Auf GitHub gehostete Runner werden aktuell nicht auf GitHub Enterprise Server unterstützt.
Vorschläge zur anfänglichen Problembehandlung
Es gibt mehrere Möglichkeiten, Fehler bei der Ausführung von Workflows zu beheben.
Verwenden von Workflowausführungsprotokollen
Jede Workflowausführung generiert Aktivitätsprotokolle, die du anzeigen, durchsuchen und herunterladen kannst. Weitere Informationen finden Sie unter Verwenden von Workflowausführungsprotokollen.
Aktivieren der Debugprotokollierung
Wenn die Workflow-Logs nicht genügend Details zur Diagnose enthalten, warum ein Workflow, ein Job oder ein Schritt nicht wie erwartet abläuft, kannst du die zusätzliche Debug-Protokollierung aktivieren. Weitere Informationen finden Sie unter Aktivieren der Debugprotokollierung.
Wenn dein Workflow bestimmte Tools oder Aktionen verwendet, kann das Aktivieren der Debug- oder ausführlichen Protokollierungsoptionen dazu beitragen, detailliertere Ausgaben für die Problembehandlung zu generieren.
Du kannst z. B. npm install --verbose
für npm oder GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...
für Git verwenden.
Problembehandlung bei Workflowtriggern
Du kannst das Feld on:
deines Workflows überprüfen, um zu verstehen, was erwartungsgemäß den Workflow auslösen wird. Weitere Informationen finden Sie unter Auslösen eines Workflows.
Eine vollständige Liste der verfügbaren Ereignisse findest du unter Ereignisse zum Auslösen von Workflows.
Auslösen von Ereignisbedingungen
Einige auslösende Ereignisse werden nur vom Standardbranch ausgeführt (d. h. issues
, schedule
). Workflowdateiversionen, die außerhalb des Standardbranch vorhanden sind, werden bei diesen Ereignissen nicht ausgelöst.
Workflows werden nicht für pull_request
-Aktivitäten ausgeführt, wenn der Pull Request einen Mergekonflikt aufweist.
Workflows, die andernfalls bei der push
- oder pull_request
-Aktivität ausgelöst werden, werden übersprungen, wenn die Commitnachricht eine Anmerkung zum Überspringen enthält. Weitere Informationen finden Sie unter Überspringen von Workflowausführungen.
Geplante Workflows, die zu unerwarteten Zeiten ausgeführt werden
Geplante Ereignisse können sich in Phasen mit einer hohen Auslastung durch GitHub Actions-Workflowausführungen verzögern.
Eine hohe Last ist unter anderem zu Beginn jeder Stunde zu verzeichnen. Wenn die Auslastung ausreichend hoch ist, werden einige Aufträge in der Warteschlange möglicherweise gelöscht. Um die Wahrscheinlichkeit einer Verzögerung zu verringern, kannst du deinen Workflow so planen, dass er zu einer anderen Uhrzeit ausgeführt wird. Weitere Informationen finden Sie unter Ereignisse zum Auslösen von Workflows.
Filtern und Diff-Grenzwerte
Bestimmte Ereignisse ermöglichen das Filtern nach Branch, Tag und/oder Pfaden, die du anpassen kannst. Die Workflowausführungserstellung wird übersprungen, wenn die Filterbedingungen gelten, um den Workflow herauszufiltern.
Du kannst Sonderzeichen mit Filtern verwenden. Weitere Informationen finden Sie unter Workflowsyntax für GitHub Actions.
Bei der Pfadfilterung ist die Auswertung von Diffs auf die ersten 300 Dateien beschränkt. Wenn Dateien geändert werden, die nicht mit den ersten 300 vom Filter zurückgegebenen Dateien übereinstimmen, wird der Workflow nicht ausgeführt. Weitere Informationen finden Sie unter Workflowsyntax für GitHub Actions.
Problembehandlung bei der Workflowausführung
Die Workflowausführung umfasst alle Probleme, die nach dem Auslösen des Workflows auftreten und wenn eine Workflowausführung erstellt wurde.
Abbrechen von Workflows
Wenn der Standardabbruch über die UI oder API nicht wie erwartet verarbeitet wird, kann eine bedingte Anweisung für ihre ausgeführten Workflowaufträge konfiguriert sein, die dazu führen, dass sie nicht abgebrochen werden.
In diesen Fällen kannst du die API nutzen, um die Ausführung zu erzwingen. Weitere Informationen finden Sie unter REST-API-Endpunkte für Workflowausführungen.
Eine häufige Ursache kann die Statusüberprüfungsfunktion always()
verwenden, die true
zurückgibt, auch beim Abbruch. Eine Alternative besteht darin, die Umkehrung der cancelled()
-Funktion ${{ !cancelled() }}
zu verwenden.
Weitere Informationen findest du unter Steuern der Auftragsausführung mithilfe von Bedingungen und Einen Workflow-Lauf abbrechen.
Problembehandlung bei Runnern
Definieren von Runnerbezeichnungen
Auf GitHub gehostete Runner nutzen voreingestellte Bezeichnungen, die über das actions/runner-images
-Repository verwaltet werden.
Es wird empfohlen die Verwendung eindeutiger Bezeichnungsnamen für größere und selbstgehostete Runner. Wenn eine Bezeichnung mit einer der vorhandenen voreingestellten Bezeichnungen übereinstimmt, können Runnerzuweisungsprobleme auftreten, bei denen keine Garantie besteht, auf welcher übereinstimmenden Runneroption der Auftrag ausgeführt wird.
Selbstgehosteten Runnern
Wenn du selbstgehostete Runner verwendest, kannst du ihre Aktivitäten einsehen und häufige Probleme diagnostizieren.
Weitere Informationen finden Sie unter Überwachen und Behandeln von Problemen mit selbstgehosteten Runnern.