В этом материале описывается последний выпуск Интерфейса командной строки CodeQL. Дополнительные сведения об этом выпуске см. в разделе https://github.com/github/codeql-cli-binaries/releases.
Чтобы просмотреть сведения о параметрах, доступных для этой команды в более раннем выпуске, выполните команду с параметром в терминале --help
.
Краткий обзор
codeql pack install [--force] <options>... -- <dir>
Описание
[Экспериментальная] Установка зависимостей для этого пакета.
Эта команда устанавливает зависимости пакета. Если файл codeql-pack.lock.yml существует, версии, указанные в этом файле блокировки, будут установлены, если они совместимы с ограничениями версии, указанными в файле qlpack.yml. Если какие-либо версии зависимостей, указанные в файле блокировки, несовместимы с ограничениями этого пакета, эта команда установит последнюю совместимую версию каждой из этих зависимостей, обновив файл блокировки новыми версиями. Если файл блокировки отсутствует, эта команда устанавливает последнюю совместимую версию всех зависимостей, создавая новый файл блокировки.
Доступно начиная с v2.6.0
.
Основные параметры
<dir>
Корневой каталог пакета.
--format=<fmt>
Выберите формат вывода (text
по умолчанию) или json
.
-f, --[no-]force
Разрешить перезапись уже существующих пакетов.
--[no-]allow-prerelease
Разрешить использование пакетов с квалификаторами предварительной версии (например, X.Y.Z-qualifier
). Без этого флага пакеты предварительной версии будут игнорироваться.
Доступно начиная с v2.11.3
.
--lock-override=<file>
[Дополнительно] Указывает альтернативный файл блокировки для использования в качестве входных данных для разрешения зависимостей.
--no-strict-mode
[Дополнительно] Отключите строгий режим, чтобы избежать предупреждения при разрешении пакетов из --additional-packs
и другие локально разрешенные расположения. Пакеты, разрешенные локально, никогда не скачиваются
и не будут добавлены в блокировку пакета.
--mode=<mode>
[Не рекомендуется] Указывает способ разрешения зависимостей:
minimal-update
(по умолчанию): обновите или создайте codeql-pack.lock.yml на основе существующего содержимого файла qlpack.yml. Если какой-либо существующий codeql-pack.lock.yml не удовлетворяет текущим зависимостям в qlpack.yml, файл блокировки будет обновлен при необходимости.
upgrade
: обновите или создайте codeql-pack.lock.yml, чтобы использовать последние версии всех зависимостей с учетом ограничений в файле qlpack.yml. Этот режим был заменен командой "обновление пакета codeql".
verify
: убедитесь, что существующий codeql-pack.lock.yml по-прежнему действителен в отношении зависимостей, указанных в файле qlpack.yml, или завершите ошибку файла блокировки, если он не существует. Этот режим был заменен командой "codeql pack ci".
no-lock
: игнорирует существующий codeql-pack.lock.yml и выполняет разрешение на основе файла qlpack.yml. Не создает и не обновляет файл блокировки.
use-lock
: используйте существующий файл codeql-pack.lock.yml для разрешения зависимостей или создайте файл блокировки, если он не существует.
update
: [не рекомендуется] Обновление или создание codeql-pack.lock.yml для использования последних версий всех зависимостей с учетом ограничений в файле qlpack.yml. Этот режим был заменен командой "обновление пакета codeql".
Параметры разрешения пакетов 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.)