Hinweis: Dein Websiteadministrator muss code scanning für deine GitHub Enterprise Server-Instanz aktivieren, damit du dieses Feature verwenden kannst. Wenn du GitHub Actions zum Überprüfen deines Codes verwenden möchtest, muss der Websiteadministrator auch GitHub Actions aktivieren und die erforderliche Infrastruktur einrichten. Weitere Informationen findest du unter Konfigurieren des Codescannings für deine Appliance.
Optionen zum Konfigurieren der code scanning
Du entscheidest, wie du code scanning-Warnungen generieren möchtest und welche Tools auf Repositoryebene verwendet werden sollen. GitHub Enterprise Server bietet eine vollständig integrierte Unterstützung für CodeQL-Analysen sowie für Analysen mit Drittanbietertools. Weitere Informationen findest du unter den folgenden Aufzählungspunkten und Informationen zu Codescans.
-
CodeQL : Verwendet GitHub Actions (siehe unten) oder führt die CodeQL-Analyse im CI-System (Continuous Integration) eines Drittanbieters aus (siehe Informationen zur CodeQL-Codeüberprüfung in deinem CI-System).
-
Drittanbieter: Verwendet GitHub Actions oder Drittanbietertools und lädt die Ergebnisse in GitHub Enterprise Server hoch (siehe Hochladen einer SARIF-Datei in GitHub).
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 findest du unter Informationen zu Codeüberprüfungswarnungen.
Hinweis: In diesem Artikel werden die Features beschrieben, die in der Version der CodeQL-Aktion und dem zugehörigen CodeQL CLI-Bundle im ursprünglichen Release dieser Version von GitHub Enterprise Server enthalten sind. Wenn dein Unternehmen eine neuere Version der CodeQL-Aktion verwendet, findest du Informationen zu den neuesten Features in der GitHub Enterprise Cloud-Version dieses Artikels. Informationen zur Verwendung der aktuellen Version findest du unter Konfigurieren des Codescannings für deine Appliance.
Manuelles Konfigurieren der code scanning
-
Navigiere auf deine GitHub Enterprise Server-Instanz zur Hauptseite des Repositorys.
-
Wähle unter dem Repositorynamen die Option Sicherheit aus. Wenn die Registerkarte „Sicherheit“ nicht angezeigt wird, wähle im Dropdownmenü die Option Sicherheit aus.
-
Wähle rechts neben „Code scanning-Warnungen“ die Option code scanning einrichten aus. Wenn „code scanning-Warnungen“ fehlt, bitte einen Organisationsbesitzerin oder Repositoryadministrator*in, GitHub Advanced Security zu aktivieren. Weitere Informationen findest du unter Verwalten von Sicherheits- und Analyseeinstellungen für deine Organisation oder Verwalten von Sicherheits- und Analyseeinstellungen für dein Repository.
-
Klicke unter „Erste Schritte mit code scanning“ für CodeQL-Analyseworkflow oder einen Drittanbieterworkflow auf Diesen Workflow einrichten.
Workflows werden nur angezeigt, wenn sie für die im Repository erkannten Programmiersprachen relevant sind. CodeQL-Analyseworkflow wird immer angezeigt. Die Schaltfläche „Diesen Workflow einrichten“ ist jedoch nur aktiviert, wenn die CodeQL-Analyse die im Repository vorhandenen Sprachen unterstützt.
-
Bearbeite den Workflow, wenn du die Codeüberprüfung durch code scanning anpassen möchtest.
In der Regel kannst du CodeQL-Analyseworkflow ohne Änderungen committen. Viele der Drittanbieterworkflows erfordern jedoch eine zusätzliche Konfiguration. Lies daher vor dem Committen die Kommentare im Workflow.
Weitere Informationen findest du unter Anpassen der Codeüberprüfung.
-
Klicke auf Änderungen committen... , um das Formular für Commitänderungen anzuzeigen.
-
Gib im Feld „Commitnachricht“ eine Commitnachricht ein.
-
Wähle aus, ob du direkt in den Standardbranch committen möchtest, oder erstelle einen neuen Branch, und starte einen Pull Request.
-
Klicke auf Commit new file (Neue Datei committen) oder Propose new file (Neue Datei vorschlagen).
Im empfohlenen CodeQL-Analyseworkflow wird code scanning so konfiguriert, dass dein Code jedes Mal analysiert wird, wenn du entweder eine Änderung an den Standardbranch oder an geschützte Branches pushst oder einen Pull Request für den Standardbranch auslöst. Daraufhin wird code scanning gestartet.
Die on:pull_request
- und on:push
-Trigger für Codescans sind jeweils für unterschiedliche Zwecke nützlich. Weitere Informationen findest du unter Anpassen der Codeüberprüfung.
Massenkonfiguration der code scanning
Mithilfe eines Skripts kannst du die code scanning für viele Repositorys gleichzeitig konfigurieren. Wenn du mit einem Skript Pull Requests auslösen möchtest, die mehreren Repositorys einen GitHub Actions-Workflow hinzufügen, findest du im Repository jhutchings1/Create-ActionsPRs
ein Beispiel mit PowerShell bzw. im Repository nickliffen/ghas-enablement
ein Beispiel für NodeJS (anstelle von PowerShell).
Anzeigen der Protokollausgabe von code scanning
Nach dem Konfigurieren der code scanning für dein Repository kannst du die Ausgabe der Aktionen während der Ausführung überwachen.
-
Klicke unter dem Namen deines Repositorys auf Aktionen.
Es wird eine Liste angezeigt, die einen Eintrag für die Ausführung des code scanning-Workflows enthält. Der Text des Eintrags entspricht dem Titel deiner Commitnachricht.
-
Klicke auf den Eintrag für die Ausführung des code scanning-Workflows.
-
Klicke auf den Namen des Auftrags auf der linken Seite. Beispiel: Analyse (SPRACHE) .
-
Überprüfe die Protokollausgabe der Aktionen in diesem Workflow während der Ausführung.
-
Sobald alle Aufträge abgeschlossen sind, kannst du die Details aller identifizierten code scanning-Warnungen anzeigen. Weitere Informationen findest du unter Verwalten von Codescanwarnungen für dein Repository.
Grundlegendes zu den Überprüfungen von Pull Requests
Jeder code scanning-Workflow, den du für Pull Requests festgelegt hast, weist immer mindestens zwei Einträge im Abschnitt „Überprüfungen“ eines Pull Requests auf. Ein Eintrag bezieht sich auf die einzelnen Analyseaufträge im Workflow und der letzte Eintrag auf die Ergebnisse der Analyse.
Der Name der code scanning-Analyseüberprüfungen wird im Format „TOOLNAME / AUFTRAGSNAME (TRIGGER)“ angegeben. So erhält beispielsweise die CodeQL-Analyse von C++-Code den Eintrag „CodeQL / Analyse (cpp) (pull_request)“. Klicke für einen code scanning -Analyseeintrag auf Details, um die Protokolldaten anzuzeigen. Auf diese Weise kannst du bei einem Fehler im Analyseauftrag das Problem debuggen. Dies kann etwa bei der code scanning-Analyse kompilierter Sprachen der Fall sein, wenn der Code mit der Aktion nicht erstellt werden kann.
Nach Abschluss der code scanning-Aufträge überprüft GitHub, ob durch den Pull Request Warnungen hinzugekommen sind, und fügt der Liste mit den Überprüfungen den Eintrag „Code scanning-Ergebnisse/
Nächste Schritte
Nach dem Konfigurieren der code scanning und dem Abschluss der Aktionen kannst du Folgendes tun:
- Anzeigen aller für dieses Repository generierten code scanning-Warnungen. Weitere Informationen findest du unter Verwalten von Codescanwarnungen für dein Repository.
- Anzeigen von Warnungen, die für einen Pull Request generiert wurden, der nach dem Konfigurieren der code scanning übermittelt wurde. Weitere Informationen findest du unter Filtern von Codescanbenachrichtigungen in Pull-Anforderungen.
- Konfigurieren von Benachrichtigungen für abgeschlossene Ausführungen. Weitere Informationen findest du unter Benachrichtigungen konfigurieren.
- Anzeigen der Protokolle, die bei der code scanning-Analyse generiert wurden. Weitere Informationen findest du unter Anzeigen von Codescanprotokollen.
- Untersuchen von Problemen, die bei der Erstkonfiguration der code scanning mit CodeQL auftreten können. Weitere Informationen findest du unter Problembehandlung für den CodeQL-Workflow.
- Passe an, wie die code scanning den Code in deinem Repository überprüft. Weitere Informationen findest du unter Anpassen der Codeüberprüfung.