Skip to main content

Fehlerbehebung in Workflows

Du kannst Tools in GitHub Actions zum Debuggen deiner Workflows verwenden.

Vorschläge zur anfänglichen Problembehandlung

Es gibt mehrere Möglichkeiten, Fehler bei der Ausführung von Workflows zu beheben.

Hinweis

Bei einem GitHub Copilot Free-Abonnement findet eine Anrechnung auf dein monatliches Chatnachrichtenlimit statt.

Verwenden von GitHub Copilot

Um einen Chat mit GitHub Copilot über eine fehlerhafte Workflowausführung zu öffnen, hast du folgende Möglichkeiten:

  • Klicke neben der fehlgeschlagenen Überprüfung im Seriendruckfeld auf , und klicke dann auf Explain error.
  • Klicke im Mergefeld auf die fehlgeschlagene Überprüfung. Klicke oben auf der Zusammenfassungsseite der Workflowausführung auf Explain error.

Dadurch wird ein Chatfenster mit GitHub Copilot mit Anweisungen zur Problembehebung geöffnet.

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.

Überprüfen von Abrechnungsfehlern

Die Verwendung von Aktionen umfasst Runnerminuten und Speicher für Workflowartefakte. Weitere Informationen finden Sie unter Abrechnung für GitHub Actions.

Festlegen eines Budgets

Das Festlegen eines Aktionsbudgets kann dazu beitragen, die Blockierung von Workflows aufgrund von Abrechnungs- oder Speicherfehlern sofort aufzuheben. Es ermöglicht, weitere Minuten und die Speichernutzung bis zum festgelegten Budgetbetrag in Rechnung zu stellen. Weitere Informationen findest du unter Einrichten von Budgets zum Kontrollieren der Ausgaben für Produkte mit verbrauchseinheitenbasierter Abrechnung.

Überprüfen der GitHub Actions-Aktivität mit Metriken

Informationen zur Analyse der Effizienz und Zuverlässigkeit deiner Workflows mithilfe von Metriken findest du unter Anzeigen von GitHub Actions-Metriken.

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.