Аутентификация в GitHubContainer registries
Вы можете публиковать пакеты и скачать приватные пакеты, аутентифицировавшись по нужному GitHubContainer registry.
Вы можете подтвердить Container registry подлинность двумя способами:
- Передайте
--github-auth-stdinопцию на CodeQL CLI, затем поставьте GitHub Apps токен или personal access token через стандартный вход. - Установите
GITHUB_TOKENпеременную среды на GitHub Apps токен или personal access token.
Публикация вашего CodeQL пакета
Чтобы поделиться своим CodeQL пакетом с другими, вы можете опубликовать его на Container registry.
`qlpack.yml` Настройка файла перед публикацией
Вы можете проверить и изменить конфигурацию вашего CodeQL пака перед публикацией.
qlpack.yml Откройте файл в предпочитаемом текстовом редакторе.
library: # set to true if the pack is a library. Set to false or omit for a query pack
name: <scope>/<pack>
version: <x.x.x>
description: <Description to publish with the package>
defaultSuite: # optional, one or more queries in the pack to run by default
- query: <relative-path>/query-file>.ql
defaultSuiteFile: default-queries.qls # optional, a pointer to a query-suite in this pack
license: # optional, the license under which the pack is published
dependencies: # map from CodeQL pack name to version range
-
`name:` Следует следовать `<scope>/<pack>` формату, где `<scope>` находится GitHub организация, в которую вы будете публиковаться, и `<pack>` каково название пакета. -
Допускается не более одного или
defaultSuite``defaultSuiteFileодного из них. Это два разных способа определения набора запросов по умолчанию, первый путем указания запросов непосредственно в файле qlpack.yml и второй путем указания набора запросов в пакете.
Бег codeql pack publish
Когда вы будете готовы опубликовать пакет в GitHubContainer registry, вы можете выполнить следующую команду в корневом каталоге pack:
codeql pack publish
Опубликованный пакет будет отображаться в разделе пакетов организации GitHub , указанной областью применения в qlpack.yml файле.
Примечание.
Если вы публикуете пакеты моделей в The GitHubContainer registry для расширения покрытия на все репозитории организации в рамках стандартной конфигурации, то вам нужно убедиться, что репозитории с сканированием кода могут получить доступ к этим моделям. Дополнительные сведения см. в разделе [AUTOTITLE и Изменение конфигурации настройки по умолчанию](/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility).
Скачивание существующего CodeQL пака
Чтобы запустить созданный пакет, необходимо сначала скачать его, выполнив следующую команду:
codeql pack download <scope>/<pack>@x.x.x
-
`<scope>`: название организации, с которой вы собираетесь скачивать GitHub . -
`<pack>`: имя пакета, который требуется скачать. -
`@x.x.x`: необязательный номер версии. Если опущено, будет загружена последняя версия.
Эта команда принимает аргументы для нескольких пакетов.
Если вы пишете скрипты, указывающие определённый номер версии пакета запросов для скачивания, имейте в виду, что при обновлении версии CodeQL до новой может потребоваться переключиться на более новую версию пакета запросов. Новые версии _могут_CodeQL снижать производительность при использовании с пакетами запросов, закреплённых на очень старую версию. Дополнительные сведения см. в разделе Ссылка на пакеты запросов CodeQL.
Использование CodeQL пакета для анализа CodeQL базы данных
Для анализа CodeQL базы данных с пакетом CodeQL выполните следующую команду:
codeql database analyze <database> <scope>/<pack>@x.x.x:<path>
-
`<database>`: CodeQL база данных, подлежащая анализу. -
`<scope>`: название GitHub организации, которой публикуется этот пакет. -
`<pack>`: имя используемого пакета. -
`@x.x.x`: необязательный номер версии. Если опущено, будет использоваться последняя версия. -
`:<path>`: необязательный путь к запросу, каталогу или набору запросов. Если опущено, будет использоваться набор запросов по умолчанию пакета.
Команда analyze запускает стандартный набор из указанных CodeQL пакетов. Вы можете указать несколько CodeQL пакетов для анализа CodeQL базы данных. Рассмотрим пример.
codeql <database> analyze <scope>/<pack> <scope>/<other-pack>
Примечание.
Команда codeql pack download сохраняет пакет, который он загружает в внутреннем расположении, которое не предназначено для локального изменения. Непредвиденное поведение (и трудно устранить неполадки) может привести к изменению пакета после скачивания. Дополнительные сведения о настройке пакетов см. в разделе Создание и работа с пакетами CodeQL.