Skip to main content

Angeben von Befehlsoptionen in einer CodeQL-Konfigurationsdatei

Du kannst die Standardbefehlsoptionen in einer CodeQL-Konfigurationsdatei speichern.

Wer kann dieses Feature verwenden?

GitHub CodeQL wird nach der Installation auf Benutzerbasis lizenziert. Du kannst CodeQL nur für bestimmte Aufgaben unter den Lizenzeinschränkungen verwenden. Weitere Informationen findest du unter Informationen zur CodeQL-CLI.

Wenn du über eine GitHub Advanced Security-Lizenz verfügst, kannst du CodeQL für eine automatisierte Analyse sowie für Continuous Integration und Continuous Delivery verwenden. Weitere Informationen findest du unter Informationen zu GitHub Advanced Security.

Informationen zum Angeben von Befehlsoptionen in einer CodeQL-Konfigurationsdatei

Du kannst Standardoptionen oder häufig verwendete Optionen für deine Befehle in einer Benutzerkonfigurationsdatei speichern.

Du kannst CodeQL CLI-Befehlsoptionen auf zwei Arten angeben:

  • Direkt in der Befehlszeile mit dem entsprechenden Flag
  • In einer Konfigurations- oder config-Datei, die CodeQL bei jeder Ausführung eines Befehls nach relevanten Optionen durchsucht

Bei Optionen, die sich wahrscheinlich bei jeder Ausführung eines Befehls ändern, ist die Angabe des Werts in der Befehlszeile der bequemste Weg, die Informationen an CodeQL zu übergeben. Das Speichern von Optionen in einer config-Datei ist eine gute Möglichkeit, Optionen anzugeben, die du häufig verwendest. Es ist auch eine gute Möglichkeit, dem Suchpfad regelmäßig verwendete benutzerdefinierte CodeQL-Pakete hinzuzufügen.

Verwenden einer CodeQL-Konfigurationsdatei

Du musst die config-Datei im Basis- (Linux und macOS) oder im Benutzerprofilverzeichnis (Windows) im .config/codeql/-Unterverzeichnis speichern. Beispiel: $HOME/.config/codeql/config.

Für das Angeben der Optionen gilt folgende Syntax:

<command> <subcommand> <option> <value>

So wendest du dieselben Optionen auf mehrere Befehle an:

  • Lass den <subcommand> weg, der die Option für jeden<subcommand> angibt, für den er relevant ist.
  • Lass sowohl <command> als auch <subcommand> weg, wodurch die Option global für alle <command> und <subcommand> angegeben wird, für die sie relevant ist.

Hinweise:

  • config-Dateien akzeptieren nur Leerzeichen zwischen Optionsflags und -werten – CodeQL löst einen Fehler aus, wenn Sie = zur Angabe eines Optionswerts verwenden.
  • Wenn du eine Option in der Befehlszeile angibst, wird der für diese Option definierte config-Wert überschrieben.
  • Wenn du mehrere Optionen für einen <command> oder <subcommand> global angeben möchtest, verwende eine Zeile pro Option.

Beispiele

  • Gib Folgendes an, um alle von codeql database analyze generierten Analyseergebnisse im CSV-Format auszugeben:

    database analyze --format csv
    

    An dieser Stelle musst du den Befehl und den Unterbefehl angeben, um zu verhindern, dass alle Low-Level-Befehle, die bei der database analyze ausgeführt werden, die gleiche --format-Option erhalten.

  • Um den RAM (4096 MB) und die Anzahl der Threads (4) zu definieren, die beim Ausführen von CodeQL-Befehlen verwendet werden sollen, gib Folgendes in separaten Zeilen an:

    --ram 4096
    --threads 4
    
  • Wenn du ein Verzeichnis global für CodeQL angeben möchtest, das nach CodeQL-Paketen durchsucht werden soll (und das dem Installationsverzeichnis nicht gleichgeordnet ist), verwende Folgendes:

    --search-path <path-to-directory>