Skip to main content

Эта версия GitHub Enterprise Server была прекращена 2024-09-25. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Установка пакета

Установите зависимости для этого пакета.

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

CodeQL доступен для следующих типов репозитория:

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

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

Краткие сведения

Shell
codeql pack install [--force] <options>... -- <dir>

Description

Установите зависимости для этого пакета.

Эта команда устанавливает зависимости пакета. Если существует 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>

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

--lock-output=<file>

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

Доступно с момента v2.14.1.

--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>=<token> разделенного запятыми списка пар.

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

При этом переопределяются переменные среды маркера токена CODEQL_И_AUTH и GITHUB_. Если вам нужно выполнить проверку подлинности только в реестре контейнеров github.com, можно вместо этого выполнить проверку подлинности с помощью более --github-auth-stdin простого параметра.

--github-auth-stdin

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

Чтобы пройти проверку подлинности в реестрах контейнеров GitHub Enterprise Server, передайте --registries-auth-stdin или используйте переменную среды AUTH CODEQL_REGISTRIES_.

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

Распространенные параметры

-h, --help

Отображение этого текста справки.

-J=<opt>

[Дополнительно] Укажите параметр JVM, выполняя команду.

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

-v, --verbose

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

-q, --quiet

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

--verbosity=<level>

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

--logdir=<dir>

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

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

--common-caches=<dir>

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

Доступно с момента v2.15.2.