Skip to main content

Указание параметров команды в файле конфигурации CodeQL

Параметры команд по умолчанию можно сохранить в файле конфигурации CodeQL .

Кто эту функцию можно использовать?

GitHub CodeQL лицензируется на основе каждого пользователя при установке. Вы можете использовать CodeQL только для определенных задач в соответствии с ограничениями лицензии. Дополнительные сведения см. в разделе Сведения о интерфейсе командной строки CodeQL.

Если у вас есть лицензия GitHub Advanced Security, можно использовать CodeQL для автоматического анализа, непрерывной интеграции и непрерывной доставки. Дополнительные сведения см. в разделе Сведения о GitHub Advanced Security.

О указании параметров команды в файле конфигурации CodeQL

Вы можете сохранить параметры по умолчанию или часто используемые параметры для команд в файле конфигурации для каждого пользователя.

Можно указать параметры команды CodeQL CLI двумя способами:

  • Непосредственно в командной строке с помощью соответствующего флага.
  • В файле конфигурации (или config), который CodeQL проверяет наличие соответствующих параметров при каждом выполнении команды.

Для параметров, которые, скорее всего, изменяются при каждом выполнении команды, указание значения в командной строке является наиболее удобным способом передачи сведений в CodeQL. Варианты сохранения в файле — это хороший config способ указать часто используемые параметры. Это также хороший способ добавить пользовательские пакеты CodeQL, которые вы регулярно используете в пути поиска.

Использование файла конфигурации CodeQL

Файл необходимо сохранить config в домашнем каталоге (Linux и macOS) или в каталоге профилей пользователей (Windows) в подкаталоге .config/codeql/ . Например, $HOME/.config/codeql/config.

Синтаксис для указания параметров выглядит следующим образом:

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

Чтобы применить одни и те же параметры к нескольким командам, можно:

  • Опустить параметр <subcommand>, который будет указывать параметр для каждого <subcommand> , к которому он относится.
  • Опустить оба <command> и <subcommand>, что глобально укажет параметр для каждого <command> и <subcommand> к которому он относится.

Примечания:

  • config файлы принимают только пробелы между флагами и значениями параметров: CodeQL выдает ошибку, если вы используете = для указания значения параметра.
  • Если указать параметр в командной строке, это переопределяет config значение, определенное для этого параметра.
  • Если вы хотите указать несколько вариантов <command>``<subcommand> для параметра или глобально, используйте одну строку для каждого параметра.

Примеры

  • Чтобы вывести все результаты анализа, созданные codeql database analyze в формате CSV, необходимо указать следующее:

    database analyze --format csv
    

    Здесь необходимо указать команду и подкоманда, чтобы предотвратить выполнение любой из низкоуровневых команд, выполняемых во время database analyze прохождения того же --format параметра.

  • Чтобы определить ОЗУ (МБ 4096) и количество потоков (4) для использования при выполнении команд CodeQL укажите следующее в отдельных строках:

    --ram 4096
    --threads 4
    
  • Чтобы глобально указать каталог для CodeQL для сканирования пакетов CodeQL (который не является братом каталога установки), используйте следующую команду:

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