Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

загрузка пакета

[Экспериментальный] Скачайте из реестра набор пакетов qlpack, на которые ссылается спецификация запроса командной строки. Пакеты могут быть предоставлены по имени или неявно внутри файла набора запросов (QLS).

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

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

В этом материале описывается последний выпуск Интерфейса командной строки CodeQL. Дополнительные сведения об этом выпуске см. в разделе https://github.com/github/codeql-cli-binaries/releases.

Чтобы просмотреть сведения о параметрах, доступных для этой команды в более раннем выпуске, выполните команду с параметром в терминале --help .

Краткий обзор

Shell
codeql pack download [--dir=<dir>] [--force] <options>... -- <scope/name[@version]|suite.qls>...

Описание

[Экспериментальная версия. Скачайте из реестра набор пакетов qlpack, на которые ссылается спецификация запроса командной строки. Пакеты могут быть предоставлены по имени или неявно внутри файла набора запросов (QLS).

Пакеты будут загружены и распакуются в кэш пакетов по умолчанию.

Доступно начиная с v2.6.0.

Основные параметры

<scope/name[@version]|suite.qls>...

[Обязательный] Список пакетов CodeQL и наборов запросов для скачивания. Если предоставляется набор запросов, будут проверены его инструкции и скачиваются все указанные пакеты CodeQL. Если не указать версию для пакета CodeQL, будет загружена последняя версия.

--format=<fmt>

Выберите формат вывода (textпо умолчанию) или json.

-d, --dir=<dir>

Каталог, в который нужно скачать пакет. По умолчанию устанавливается в кэш пакетов.

--for-pack=<pack>

Пакет, зависимости которого загружаются. Реестр пакетов для каждого пакета определяется свойством registries объекта \.

--[no-]allow-prerelease

Разрешить использование пакетов с квалификаторами предварительной версии (например, X.Y.Z-qualifier). Без этого флага пакеты предварительной версии будут игнорироваться.

Доступно начиная с v2.11.3.

-f, --[no-]force

Разрешить перезапись уже существующих пакетов.

Параметры поиска пакетов QL (которые могут потребоваться для интерпретации наборов запросов)

--search-path=<dir>[:<dir>...]

Список каталогов, в которых можно найти пакеты QL. Каждый каталог может быть либо пакетом QL (или пакетом пакетов, содержащим файл в корневом .codeqlmanifest.json каталоге), либо непосредственным родительским элементом одного или нескольких таких каталогов.

Если путь содержит несколько каталогов, их порядок определяет приоритет между ними: если имя пакета, которое необходимо разрешить, совпадает в нескольких деревьях каталогов, то первое из них выигрывает.

Указание на это при извлечении репозитория CodeQL с открытым кодом должно работать при запросе одного из языков, которые там живут.

Если вы извлекли репозиторий CodeQL как одноуровневый элемент распакованой цепочки инструментов CodeQL, вам не нужно предоставлять этот параметр. В таких каталогах всегда будет выполняться поиск пакетов QL, которые невозможно найти в противном случае. (Если это значение по умолчанию не работает, настоятельно рекомендуется выполнить настройку --search-path раз и навсегда в файле конфигурации для каждого пользователя.

(Примечание. В Windows разделитель пути — ).;

--additional-packs=<dir>[:<dir>...]

Если указан этот список каталогов, они будут искать пакеты перед теми, которые в --search-path. Порядок между ними не имеет значения; Это ошибка, если имя пакета найдено в двух разных местах в этом списке.

Это полезно, если вы временно разрабатываете новую версию пакета, которая также отображается в пути по умолчанию. С другой стороны, не рекомендуется переопределять этот параметр в файле конфигурации. некоторые внутренние действия добавляют этот параметр на лету, переопределяя любое настроенное значение.

(Примечание. В Windows разделитель пути — ).;

Параметры настройки диспетчера пакетов CodeQL

--registries-auth-stdin

Выполните проверку подлинности в реестрах контейнеров GitHub Enterprise Server, передав список пар, \<registry_url>=\ разделенный запятыми.

Например, можно передать https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2 для проверки подлинности в двух экземплярах GitHub Enterprise Server.

Это переопределяет переменные среды AUTH CODEQL_REGISTRIES_и токена GITHUB_. Если вам нужно пройти проверку подлинности только в реестре контейнеров github.com, можно использовать более --github-auth-stdin простой вариант.

--github-auth-stdin

Проверка подлинности в реестре контейнеров github.com путем передачи маркера github.com GitHub Apps или личного маркера доступа через стандартные входные данные.

Для проверки подлинности в реестрах контейнеров GitHub Enterprise Server передайте --registries-auth-stdin или используйте переменную среды CODEQL_REGISTRIES_AUTH.

Это переопределяет переменную среды GITHUB_TOKEN.

Общие параметры

-h, --help

Показать этот текст справки.

-J=<opt>

[Дополнительно] Предоставьте параметр виртуальной машине Java, запустив команду .

(Остерегайтесь, что параметры, содержащие пробелы, будут обрабатываться неправильно.)

-v, --verbose

Добавочное увеличение числа выводемых сообщений о ходе выполнения.

-q, --quiet

Постепенно уменьшайте количество выводемых сообщений о ходе выполнения.

--verbosity=<level>

[Дополнительно] Явно задайте уровень детализации для одной из ошибок, предупреждений, хода выполнения, хода выполнения+, хода выполнения++, хода выполнения+++. Переопределяет -v и -q.

--logdir=<dir>

[Дополнительно] Запись подробных журналов в один или несколько файлов в заданном каталоге с созданными именами, включая метки времени и имя выполняющейся подкоманды.

(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого при необходимости предоставьте --log-to-stderr и перенаправьте stderr.)