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.

Vorschläge zur Netzwerkproblembehandlung

Unser Support ist für Netzwerkprobleme eingeschränkt, die Folgendes umfassen:

  • Deine Netzwerke
  • Externe Netzwerke
  • Systeme von Drittanbietern
  • Allgemeine Internetkonnektivität

Um den Status der Echtzeitplattform von GitHub anzuzeigen, überprüfe den Status von GitHub.

Überprüfe bei anderen netzwerkbezogenen Problemen die Netzwerkeinstellungen deiner Organisation und den Status aller Drittanbieterdienste, auf die du zugreifst. Wenn die Probleme weiterhin bestehen, wende dich an deine Netzwerkadministratoren, um weitere Unterstützung zu erhalten.

Wenn du dir über das Problem nicht sicher bist, wende dich an GitHub-Support. Ausführliche Informationen zum Kontaktieren des Supports findest du unter Kontaktieren des GitHub-Supports.

DNS

Probleme können aufgrund der Domain Name System-Konfiguration, -Lösung oder -Auflösung auftreten. Es wird empfohlen, die verfügbaren Protokolle und die Herstellerdokumentation zu lesen oder sich an deine Administratoren zu wenden, um weitere Unterstützung zu erhalten.

Firewalls

Aktivitäten werden möglicherweise durch Firewalls blockiert. In diesem Fall solltest du die verfügbaren Protokolle sowie die Dokumentation des Anbieters ansehen oder dich an deine Administratoren wenden, um weitere Unterstützung zu erhalten.

Proxys

Aktivitäten können fehlschlagen, wenn ein Proxy für die Kommunikation verwendet wird. Du solltest verfügbare Protokolle oder die Dokumentation des Anbieters ansehen oder dich an deine Administratoren zu wenden, um weitere Unterstützung zu erhalten.

Informationen zum Konfigurieren der Runneranwendung für die Verwendung eines Proxys findest du unter Verwenden eines Proxyservers mit selbstgehosteten Runnern.

Subnetze

Es können Probleme mit Subnetzen auftreten, die verwendet werden oder sich mit einem vorhandenen Netzwerk überschneiden, z. B. innerhalb von virtuellen Cloudanbietern oder Docker-Netzwerken. In solchen Fällen empfiehlt es sich, die verwendete Netzwerktopologie und die verwendeten Subnetze zu überprüfen.

Zertifikate

Probleme können durch selbstsignierte oder benutzerdefinierte Zertifikatketten und Zertifikatspeicher auftreten. Du kannst überprüfen, ob ein verwendetes Zertifikat nicht abgelaufen ist und derzeit vertrauenswürdig ist. Zertifikate können mit curl oder ähnlichen Tools überprüft werden. Du kannst auch die verfügbaren Protokolle und die Dokumentation des Anbieters überprüfen oder sich an deine Administratoren wenden, um weitere Unterstützung zu erhalten.

IP-Listen

IP-Zulassungs- oder Verweigerungslisten können die erwartete Kommunikation unterbrechen. Wenn ein Problem vorliegt, solltest du die verfügbaren Protokolle und die Herstellerdokumentation lesen oder dich an deine Administratoren wenden, um weitere Unterstützung zu erhalten.

Wenn dein GitHub-Konto mit einer IP-Zulassungsliste konfiguriert ist, schlagen Workflows fehl, wenn ein Runner eine IP-Adresse verwendet, die nicht in der Zulassungsliste enthalten ist. Um dieses Problem zu beheben, stelle sicher, dass die IP-Adressen des Runners zur Zulassungsliste deiner Organisation oder deines Unternehmens hinzugefügt werden. Weitere Informationen findest du unter Verwaltung erlaubter IP-Adressen für deine Organisation und/oder Einschränken des Netzwerkdatenverkehrs in deinem Unternehmen mit einer Liste zugelassener IP-Adressen.

Informationen zu den IP-Adressen von GitHub, z. B. die von GitHub gehosteten Runnern, findest du unter Informationen zu den IP-Adressen von GitHub.

Statische IP-Adressen stehen zur Verwendung mit von GitHub gehosteten größeren Runnern zur Verfügung. Weitere Informationen findest du unter Verwalten größerer Runner.

Betriebssysteme und Softwareanwendungen

Zusätzlich zu Firewalls oder Proxys können Anpassungen, die an von GitHub gehosteten Runnern durchgeführt werden, z. B. die Installation zusätzlicher Softwarepakete, zu Kommunikationsunterbrechungen führen. Informationen zu den verfügbaren Anpassungsoptionen findest du unter Anpassen von auf GitHub gehosteten Runnern.

Privates Azure-Netzwerk für von GitHub gehostete Runner

Probleme können durch die Verwendung von auf GitHub gehosteten Runnern in deinen konfigurierten Einstellungen für virtuelle Azure-Netzwerke (VNETs) auftreten.

Hinweise zur Problembehandlung findest du unter Problembehandlung bei einem Azure Privatnetzwerk für von GitHub gehostete Runner in Ihrer Organisation oder Problembehandlung bei einem Azure Privatnetzwerk für von GitHub gehostete Runner in Ihrem Unternehmen.