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.
-
Für selbstgehostete Runner erhälst du mehr Informationen über die erforderlichen Endpunkte in Referenzen zu selbstgehosteten Runnern.
-
Hilfe zum Konfigurieren von WireGuard findest du unter Verwenden von WireGuard zum Erstellen einer Netzwerküberlagerung.
-
Ausführliche Informationen zum Konfigurieren von OpenID Connect (OIDC) findest du unter Verwenden eines API-Gateways mit OIDC.
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.