Informationen zum Standardsetup
Die Standardeinrichtung für code scanning ist die schnellste, einfachste und wartungsärmste Möglichkeit, code scanning für Ihr Repository zu aktivieren. Basierend auf dem Code in Ihrem Repository erstellt das Standardsetup automatisch eine benutzerdefinierte code scanning Konfiguration. Nach dem Aktivieren des Standardsetups wird der in von CodeQL unterstützten Sprachen geschriebene Code in Ihrem Repository mithilfe von CodeQL gescannt.
- Nach jedem Pushen in den Standard-Branch des Repositorys oder einen geschützten Branch. Weitere Informationen zu geschützten Branches finden Sie unter Informationen zu geschützten Branches.
- Beim Erstellen oder Committen eines Pull Requests basierend auf dem Standard-Branch des Repositorys oder einem geschützten Branch (mit Ausnahme von Pull Requests von Forks)
- Bei einem wöchentlichen Plan.
Unterstützte Sprachen
Es wird empfohlen, das Standardsetup für berechtigte Repositorys zu aktivieren, wenn die Repositorys in Zukunft mindestens eine von CodeQL unterstützte Sprache enthalten. Wenn du das Standardsetup für ein Repository aktivierst, das keine von CodeQL unterstützten Sprachen enthält, führt das Standardsetup keine Scans aus und nutzt keine GitHub Actions-Minuten. Wenn die von CodeQL unterstützten Sprachen zum Standardbranch des Repositorys hinzugefügt werden, beginnt das Standardsetup automatisch mit dem Scannen der von CodeQL unterstützten Sprachen und der Nutzung von GitHub Actions-Minuten. Weitere Informationen zu den von CodeQL unterstützten Sprachen findest du unter Informationen zu Codescans mit CodeQL.
Wenn sich der Code in einem Repository dahingehend ändert, dass er eine der unterstützten CodeQL-Sprachen enthält, wird die GitHub-Konfiguration automatisch aktualisiert, um die neue Sprache zu integrieren. Wenn code scanning mit der neuen Konfiguration fehlschlägt, wird die vorherige Konfiguration automatisch wiederhergestellt, GitHub sodass das Repository die Abdeckung nicht verliert code scanning.
Anpassung des Standardsetups
Nachdem Sie eine anfängliche Analyse des Codes mit Standardsetup ausgeführt haben, können Sie Änderungen an Ihrer Konfiguration vornehmen, um Ihre Anforderungen besser zu erfüllen.
Konfigurationsoptionen
Für vorhandene Konfigurationen des Standardsetups können Sie Folgendes bearbeiten:
- Folgende Sprachen werden vom Standardsetup analysiert.
- Die Abfragesuite, die während der Analyse ausgeführt wird. Weitere Informationen zu den verfügbaren Abfragesammlungen findest du unter CodeQL-Abfragesammlungen.
- Die für die Analyse zu verwendenden Bedrohungsmodelle (Öffentliche Vorschau). Ihre Wahl des Gefahrenmodells bestimmt, welche Quellen von enthaltenen Daten als Risiko für Ihre Anwendung angesehen werden. Während der Öffentliche Vorschau werden Bedrohungsmodelle nur für die Analyse von Java/Kotlin und C# unterstützt. Weitere Informationen zu Bedrohungsmodellen findest du unter Einschließen lokaler Quellen verfälschter Daten im Standardsetup.
Wenn Ihre Codebasis von einer Bibliothek oder einem Framework abhängt, die nicht von den Standardbibliotheken erkannt wird, die im Lieferumfang von CodeQL enthalten sind, können Sie die Abdeckung von CodeQL auch mithilfe von CodeQL-Modellpaketen erweitern. Weitere Informationen finden Sie unter Erweitern der CodeQL-Abdeckung mit CodeQL-Modellpaketen in der Standardeinrichtung.
Weitere Konfigurationsoptionen, die zwischen allen code scanning Setuptypen gemeinsam verwendet werden, sind verfügbar. Siehe Repository-Eigenschaften für code scanning.
Verfügbare Runner
Sie können das Standardsetup für alle von CodeQL unterstützten Sprachen auf selbst gehosteten Runnern oder von GitHub gehosteten Runnern verwenden.
Sie können selbst gehostete Läufer für die Standardeinrichtung zuweisen, indem Sie den Läufern die Standardbezeichnung code-scanning zuweisen oder optional benutzerdefinierte Bezeichnungen zuweisen, damit einzelne Repositorys unterschiedliche Läufer verwenden können.
Es wird empfohlen, dass Sie nur Runner mit der Standardbezeichnung code-scanning zuweisen, es sei denn, Sie haben einen bestimmten Anwendungsfall. Sie können jedoch benutzerdefinierte Bezeichnungen verwenden, um Folgendes zu erreichen:
- Weisen Sie kritischen Repositories leistungsstärkere selbst gehostete Runner zur schnelleren code scanning Analyse zu.
- Führen Sie Ihre code scanning Analysen auf einer bestimmten Plattform aus (z. B. macOS).
- Haben Sie eine präzise Kontrolle über die Arbeitsauslastung für Ihre GitHubgehosteten Läufer und selbst gehosteten Läufer.
Informationen zur erweiterten Einrichtung
Wenn Sie eine genauere Kontrolle über Ihre code scanning Konfiguration benötigen, sollten Sie stattdessen die erweiterte Einrichtung konfigurieren. Das erweiterte Setup code scanning ist hilfreich, wenn Sie Ihre code scanningEinstellungen anpassen müssen. Sie können code scanning mit GitHub Actions oder einem externen kontinuierlichen Integrations- oder Continuous-Delivery/Deployment-System (CI/CD-System) einrichten.
Wenn du die Codeüberprüfung mit mehreren Konfigurationen ausführst, kann es passieren, dass eine Warnung mehrere Analyseursprünge aufweist. Wenn eine Warnung mehrere Analyseursprünge hat, kannst du den Status der Warnung für jeden Analyseursprung auf der Warnungsseite einsehen. Weitere Informationen finden Sie unter Informationen zu Codeüberprüfungswarnungen.
Mit GitHub Actions
Indem Sie eine GitHub Actions Workflowdatei erstellen und bearbeiten, können Sie definieren, wie kompilierte Sprachen erstellt werden, welche Abfragen ausgeführt werden sollen, die zu scannenden Sprachen auswählen, einen Matrixbuild verwenden und vieles mehr. Sie haben auch Zugriff auf alle Optionen für die Steuerung von Workflows, z. B. das Ändern des Scanzeitplans, das Definieren von Workflow-Triggern und die Angabe von fachspezifischen Runnern.
Mit einem CI/CD-System eines Drittanbieters
Als Alternative zur Verwendung von code scanning innerhalb GitHub können Sie den Code in einem externen CI/CD-System analysieren und dann die Ergebnisse auf GitHub hochladen.
Dies CodeQL CLI ist ein eigenständiges Befehlszeilentool, mit dem Sie Code analysieren können. Sie können CodeQL CLI zu Ihrem Drittanbietersystem hinzufügen oder ein anderes statisches Analysetool eines Drittanbieters verwenden, das Ergebnisse im SARIF 2.1.0-Format (Static Analysis Results Interchange Format) erzeugen kann. Weitere Informationen findest du unter Informationen zur CodeQL-CLI und SARIF-Unterstützung für die Codeüberprüfung.
Warnungen für code scanning, die Sie extern generieren, werden auf die gleiche Weise angezeigt wie Warnungen für code scanning, die Sie innerhalb von GitHub generieren.
Nächste Schritte
Sie können das Standardsetup für ein einzelnes Repository, mehrere Repositorys oder alle Repositorys in einer Organisation gleichzeitig aktivieren.
- Ein einzelnes Repository finden Sie unter Konfigurieren des Standardsetups für das Code-Scanning.
- Informationen zur Massenaktivierung finden Sie unter Konfigurieren des Standardsetups für das Codescanning im großen Stil.
Um das erweiterte Setup zu konfigurieren, siehe Konfigurieren des erweiterten Setups für das Code-Scanning.