Skip to main content

Diese Version von GitHub Enterprise Server wird eingestellt am 2026-08-25. Nicht mehr unterstützte Versionen werden nicht unterstützt. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Eine bessere Leistung, verbesserte Sicherheit und neue Features in GitHub Enterprise Server finden Sie unter Overview des Upgradeprozesses. Wenden Sie sich bei Fragen zum Upgrade an den GitHub Enterprise Support.

Analyse der Codeüberprüfung dauert zu lange

Sie können Ihre code scanning Konfiguration optimieren, um die Analysezeit zu minimieren.

Hinweis

In diesem Artikel werden die Funktionen beschrieben, die mit der Version der CodeQL Action und dem zugehörigen CodeQL CLI Bundle verfügbar sind, die in der Erstveröffentlichung dieser Version von GitHub Enterprise Server enthalten ist. Wenn Ihr Unternehmen eine neuere Version der CodeQL Aktion verwendet, finden Sie in der GitHub Enterprise Cloud Version dieses Artikels Informationen zu den neuesten Features. Informationen zum Verwenden der aktuellen Version findest du unter Konfigurieren der Code-Analyse für Ihr Gerät.

Es gibt mehrere Ansätze, mit denen Sie versuchen können, die Buildzeit in einer code scanning Analyse zu reduzieren.

Erhöhen des Arbeitsspeichers oder der Kerne

Sie können den für Ihre Runner verfügbaren Arbeitsspeicher oder Speicherplatz erhöhen. Wenn Sie CodeQL für Ihre code scanning-Analyse verwenden, können Sie die empfohlenen Hardwareressourcen für CodeQL überprüfen, um sicherzustellen, dass Ihre Runner diese Anforderungen erfüllen. Weitere Informationen finden Sie unter Empfohlene Hardwareressourcen zum Ausführen von CodeQL.

Verwenden von Matrixbuilds zum Parallelisieren der Analyse

Um die Analyse von Workflows zu beschleunigen, die mehrere Jobs umfassen, können Sie Ihren Workflow so ändern, dass er eine Matrix verwendet. Weitere Informationen finden Sie unter Varianten von Aufgaben in einem Workflow ausführen.

Der Standardwert CodeQL-Analyse-Workflow verwendet eine Matrix von Sprachen, wodurch die Analyse jeder Sprache parallel ausgeführt wird. Wenn Sie jedoch mit dem erweiterten Setup arbeiten CodeQL und die Sprachen angegeben haben, die Sie direkt im Schritt "Initialize CodeQL" analysieren möchten, erfolgt die Analyse jeder Sprache sequenziell. In dieser Konfiguration können Sie Ihre Analyse beschleunigen, indem Sie Ihren Advanced Setup-Workflow dahingehend ändern, dass eine Matrix verwendet wird. Ein Beispiel findest du in dem Workflow-Auszug in Einige Sprachen wurden nicht mit dem erweiterten Setup von CodeQL analysiert.

Reduzieren der Menge an Code, der in einem einzelnen Workflow analysiert wird

Die Analysezeit ist in der Regel proportional zur Menge des analysierten Codes. Wenn Sie CodeQL mit erweiterter Konfiguration verwenden, können Sie die Analysezeit reduzieren, indem Sie die Menge an Code verringern, die gleichzeitig analysiert wird. Wenn Sie z. B. Testcodes ausschließen oder die Analysen in mehrere Workflows aufteilen, die nur eine Teilmenge Ihres Codes gleichzeitig analysieren.

Bei Verwendung von build-mode: autobuild oder build-mode: manual analysiert CodeQL bei kompilierten Sprachen wie Java, Kotlin, Go, C, C++ und C# den gesamten Code, der während der Workflow-Ausführung kompiliert wurde. Um den Umfang des analysierten Codes einzuschränken, kompilier nur den Code, den du analysieren möchtest, indem du deine eigenen Buildschritte in einem run-Block angibst. Du kannst das Definieren deiner eigenen Buildschritte mit der Verwendung der Filter paths und paths-ignore bei den Ereignissen pull_request und push kombinieren, um sicherzustellen, dass dein Workflow nur ausgeführt wird, wenn bestimmter Code geändert wird. Weitere Informationen finden Sie unter Workflowsyntax für GitHub Actions.

Für Sprachen wie JavaScript, Python und TypeScript, die CodeQL analysiert, ohne den Quellcode zu kompilieren, oder für eine kompilierte Sprache mit build-mode: none können Sie zusätzliche Konfigurationsoptionen angeben, um die zu analysierende Menge an Code einzuschränken. Weitere Informationen finden Sie unter Workflowkonfigurationsoptionen für die Codeüberprüfung.

Wenn Sie Ihre CodeQL Analyse in mehrere Workflows aufteilen, empfiehlt es sich weiterhin, über mindestens einen Workflow zu verfügen, der auf einem schedule Workflow ausgeführt wird, der den gesamten Code in Ihrem Repository analysiert. Da CodeQL Datenflüsse zwischen Komponenten analysiert werden, können einige komplexe Sicherheitsverhalten nur bei einem vollständigen Build erkannt werden.

Ausführung nur während eines schedule-Ereignisses

Möglicherweise stellen Sie fest, dass sich Ihre Analyse während push oder pull_request-Ereignissen verlangsamt. In diesem Fall können Sie die Analyse so festlegen, dass sie nur für das schedule-Ereignis getriggert wird. Wenn Sie CodeQL für Ihre code scanning-Analyse verwenden, können Sie dies in einem erweiterten Einrichtungsworkflow konfigurieren, jedoch nicht in der Standardeinrichtung. Weitere Informationen finden Sie unter Grundlegendes zu GitHub Actions.

Überprüfen, welche Abfragen oder Regeln der Workflow ausführt

Eine weitere Möglichkeit zum Verringern der Analysezeit besteht darin, nur die Abfragen oder Regeln auszuführen, die Sie in Workflows berücksichtigen, die auf Pull Requests ausgeführt werden. Wenn Sie für code scanning ein Drittanbieter-Tool verwenden, sollten Sie die Dokumentation zu diesem Tool konsultieren.

In CodeQL, gibt es zwei Hauptabfragesammlungen für jede Sprache. Wenn Sie den CodeQL Datenbankbuild optimiert haben und der Prozess noch zu lang ist, können Sie die Anzahl der ausgeführten Abfragen reduzieren. Die Standardmäßige Abfrage-Sammlung wird automatisch ausgeführt: Sie bietet die bestmögliche Kompromittierung zwischen Qualität und Geschwindigkeit.

Wenn Sie das erweiterte Setup verwenden CodeQL , führen Sie möglicherweise zusätzlich zu den Standardabfragen zusätzliche Abfragen oder Abfragesammlungen aus. Überprüfe, ob der Workflow eine zusätzliche Abfragesammlung oder zusätzliche Abfragen definiert, die mit dem queries-Element ausgeführt werden sollen. Du kannst die zusätzliche Abfragesammlung oder Abfragen testweise deaktivieren. Weitere Informationen finden Sie unter Workflowkonfigurationsoptionen für die Codeüberprüfung.