Сведения о частных реестрах
Dependabot version updates Сохраняет ваши зависимости up-to-date и Dependabot security updates обновляет уязвимые зависимости.
Dependabot может получить доступ к публичным реестрам. Кроме того, вы можете предоставить Dependabot доступ к частным реестрам пакетов и частным GitHub хранилищам, чтобы сохранять свои приватные и внутренние зависимости как up-to-date и безопасные, как и ваши публичные зависимости.
В большинстве экосистем частные зависимости обычно публикуются в частных реестрах пакетов. Эти частные реестры похожи на их общедоступные эквиваленты, но они требуют проверки подлинности.
Для определённых экосистем можно настроить Dependabot доступ только к частным реестрам, удаляя вызовы публичных реестров. Дополнительные сведения см. в разделе Удаление доступа Dependabot к общедоступным реестрам.
Настройка частных реестров
Вы также можете настроить Dependabotдоступ к частным реестрам файла dependabot.yml .
Ключ верхнего уровня registries является необязательным и указывает сведения о проверке подлинности.
В файле есть 2 расположения dependabot.yml , в которых можно использовать registries ключ:
- На верхнем уровне, где вы определяете реестры и сведения о доступе при необходимости.
updatesВ блоках, где можно указать Dependabot использоватьregistries: "*"любой или все реестры, определенные на верхнем уровне.
# registries: gradle-artifactory - provides access details for the gradle-artifactory registry
# registries: "*" - allows Dependabot to use all the defined registries specified at the top level
version: 2
registries:
gradle-artifactory:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-gradle-registry
username: octocat
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
updates:
- package-ecosystem: "gradle"
directory: "/"
registries: "*"
schedule:
interval: "monthly"
Для указания параметров доступа используются следующие параметры. Параметры реестра должны содержать type и url, а также, как правило, либо сочетание username и password, либо token.
| Параметры | Характер использования |
|---|---|
REGISTRY_NAME | **** Обязательный: определяет идентификатор реестра. |
type | **** Обязательный: определяет тип реестра. |
| Подробные сведения о проверке подлинности | **** Обязательный: параметры, поддерживаемые для предоставления сведений о проверке подлинности, зависят от реестров разных типов. |
url | **** Обязательный: URL-адрес, используемый для доступа к зависимостям в этом реестре. Протокол указывать необязательно. Если этот параметр не задан, для него предполагается значение https://. Dependabot добавляет или пропускает конечные косые черты по мере необходимости. |
replaces-base | Если логическое значение равно true, Dependabot разрешает зависимости, используя указанный url , а не базовый URL-адрес этой экосистемы. |
Дополнительные сведения о параметрах конфигурации, доступных и поддерживаемых типах, см. в разделе Справочник по параметрам зависимостей.
Хранение учетных данных для Dependabot для использования
Чтобы предоставить Dependabot доступ к частным реестрам, поддерживаемым GitHub, вы храните токен доступа или секрет реестра в секретном хранилище вашего репозитория или организации.
О зашифрованных секретах для Dependabot
Dependabot Секреты — это зашифрованные учетные данные, которые вы создаёте либо на уровне организации, либо на уровне репозитория.
При добавлении секрета на уровне организации можно указать, какие репозитории могут получать к нему доступ. Вы можете использовать секреты, чтобы обновлять Dependabot зависимости, расположенные в частных реестрах пакетов. Когда вы добавляете секрет, он шифруется ещё до того, как достигнет GitHub его, и остаётся зашифрованным, пока не будет использован Dependabot для доступа к приватному реестру пакетов.
Dependabot Секреты также включают секреты, используемые рабочими GitHub Actions процессами, запускаемыми Dependabot pull-запросами.
Dependabot Сам по себе может не использовать эти секреты, но рабочие процессы требуют их. Дополнительные сведения см. в разделе [AUTOTITLE](/code-security/dependabot/troubleshooting-dependabot/troubleshooting-dependabot-on-github-actions#accessing-secrets).
После добавления Dependabot секрета вы можете ссылаться на него в dependabot.yml конфигурационном файле так: ${{secrets.NAME}}, где «NAME» — это имя, которое вы выбрали для секрета. Рассмотрим пример.
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
Присвоение имен секретам
Название секрета Dependabot :
- может содержать только буквы и цифры (
[A-Z],[0-9]) или символы подчеркивания (_); Пробелы недопустимы. Если ввести строчные буквы, они будут изменены на прописные. - не должно начинаться с префикса
GITHUB_; - не должно начинаться с цифры.
Добавление секрета репозитория для Dependabot
Чтобы создать секреты для репозитория учетной записи пользователя необходимо быть владельцем репозитория. Чтобы создавать секреты для репозитория организации, потребуется доступ admin.
-
На GitHubперейдите на главную страницу репозитория.
-
Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

-
В разделе "Безопасность" боковой панели выберите Секреты и переменные, а затем щелкните Dependabot.
-
Выберите Новый секрет репозитория.
-
Введите имя для секрета в поле ввода Имя.
-
Введите значение для секрета.
-
Щелкните Добавить секрет.
Имя секрета отображается на странице секретов Dependabot. Можно нажать кнопку Обновить, чтобы изменить значение секрета. Можно нажать кнопку Удалить, чтобы удалить секрет.
Добавление секрета организации для Dependabot
При создании секрета в организации можно использовать политику, чтобы ограничить для репозиториев доступ к секрету. Например, можно предоставить доступ ко всем репозиториям либо ограничить доступ только частными репозиториями или указанным списком репозиториев.
Чтобы создать секреты на уровне организации, требуется доступ уровня admin.
-
На GitHubперейдите на главную страницу организации.
-
Под именем организации щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

1. В разделе "Безопасность" боковой панели выберите **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-key-asterisk" aria-label="key-asterisk" role="img"><path d="M0 2.75A2.75 2.75 0 0 1 2.75 0h10.5A2.75 2.75 0 0 1 16 2.75v10.5A2.75 2.75 0 0 1 13.25 16H2.75A2.75 2.75 0 0 1 0 13.25ZM2.75 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h10.5c.69 0 1.25-.56 1.25-1.25V2.75c0-.69-.56-1.25-1.25-1.25Z"></path><path d="M8 4a.75.75 0 0 1 .75.75V6.7l1.69-.975a.75.75 0 0 1 .75 1.3L9.5 8l1.69.976a.75.75 0 0 1-.75 1.298L8.75 9.3v1.951a.75.75 0 0 1-1.5 0V9.299l-1.69.976a.75.75 0 0 1-.75-1.3L6.5 8l-1.69-.975a.75.75 0 0 1 .75-1.3l1.69.976V4.75A.75.75 0 0 1 8 4Z"></path></svg> Секреты и переменные**, а затем щелкните **Dependabot**. -
Щелкните Создать секрет организации.
-
Введите имя для секрета в поле ввода Имя.
-
Введите значение для секрета.
-
В раскрывающемся списке Доступ к репозиторию выберите политику доступа.
-
Если вы выбрали вариант Выбранные репозитории:
- Щелкните .
- В диалоговом окне выберите репозитории, которые могут получить доступ к этому секрету.
- Нажмите Обновить выбор.
-
Щелкните Добавить секрет.
Название секрета указано на странице Dependabot с секретами. Можно нажать кнопку Обновить, чтобы изменить значение секрета или политику доступа. Можно нажать кнопку Удалить, чтобы удалить секрет.
Использование OIDC для аутентификации
Dependabot может использовать OpenID Connect (OIDC) для аутентификации с частными реестрами, что устраняет необходимость хранить долгоживущие учетные данные в виде секретов репозитория.
С помощью аутентификации на основе OIDC Dependabot задачи обновления могут динамически получать кратковременные учетные данные от вашего облачного идентификатора, как GitHub Actions и рабочие процессы, использующие федерацию OIDC.
Dependabot Поддерживает аутентификацию OIDC для любого типа реестра, использующего `username` аутентификацию `password` , когда реестр размещён у одного из следующих облачных провайдеров:
- AWS CodeArtifact
- Azure DevOps Artifacts
- Артефабрика JFrog
Чтобы настроить аутентификацию OIDC, нужно указывать разные значения вместо username и password в конфигурации реестра.
AWS CodeArtifact
AWS CodeArtifact требует значений aws-region, account-id, role-name``domain, и domain-owner. Поле audience является необязательным.
registries:
my-aws-codeartifact-feed:
type: npm-registry
url: https://MY_DOMAIN-MY-ACCOUNT_ID.d.codeartifact.REGION.amazonaws.com/npm/MY_REPOSITORY/
aws-region: REGION
account-id: '123456789012'
role-name: MY_ROLE_NAME
domain: MY_DOMAIN
domain-owner: '987654321098'
audience: MY_AUDIENCE # if required by your feed
Azure DevOps Artifacts
Azure DevOps Artifacts требуют значений tenant-id и client-id:
registries:
my-azure-devops-artifacts-feed:
type: npm-registry
url: https://pkgs.dev.azure.com/MY-ORGANIZATION/MY-PROJECT/_packaging/MY-FEED/npm/registry/
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
client-id: ${{ secrets.AZURE_CLIENT_ID }}
Артефабрика JFrog
JFrog Artifactory требует значений url и jfrog-oidc-provider-name. Значения audience и identity-mapping-name являются необязательными:
registries:
my-jfrog-artifactory-feed:
type: npm-registry
url: https://JFROG-PLATFORM-URL/artifactory/api/npm/MY-REPOSITORY
jfrog-oidc-provider-name: MY-PROVIDER
audience: MY-AUDIENCE # if required by your feed
identity-mapping-name: MY-IDENTITY-MAPPING # if required by your feed
Для получения дополнительной информации о том, как работает OIDC, см. OpenID Connect.
Разрешение выполнения внешнего кода
Когда вы предоставляете Dependabot доступ к одному или нескольким реестрам, внешний код автоматически отключается для защиты вашего кода от скомпрометированных пакетов. Однако некоторые обновления версий могут завершиться ошибкой.
Если вам нужно разрешить Dependabot доступ к приватному реестру пакетов и включить ограниченное внешнее выполнение кода, вы можете установить insecure-external-code-execution на allow. Возможность Dependabot запускать внешний код в манифесте во время обновлений не так страшна, как кажется:
- Любое выполнение внешнего кода будет иметь доступ только к диспетчерам пакетов в реестрах, связанных с включенным
updatesпараметром. - Доступ к любому из реестров, определенных в конфигурации верхнего уровня
registries, не разрешен.
Обычно для инструментов, таких как bundler, mixи pip``swift, позволяет выполнять внешний код по умолчанию.
В этом примере конфигурационный файл позволяет Dependabot получить доступ к ruby-github приватному реестру пакетов. В том же updatesпараметре задано insecure-external-code-executionзначение , что означает, что код, выполняемый зависимостями, allowбудет получать доступ только к рееструruby-github, а не к рееструdockerhub.
# Allow external code execution when updating dependencies from private registries
version: 2
registries:
ruby-github:
type: rubygems-server
url: https://rubygems.pkg.github.com/octocat/github_api
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
updates:
- package-ecosystem: "bundler"
directory: "/rubygems-server"
insecure-external-code-execution: allow
registries: "*"
schedule:
interval: "monthly"
# Allow external code execution when updating dependencies from private registries
version: 2
registries:
ruby-github:
type: rubygems-server
url: https://rubygems.pkg.github.com/octocat/github_api
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
updates:
- package-ecosystem: "bundler"
directory: "/rubygems-server"
insecure-external-code-execution: allow
registries: "*"
schedule:
interval: "monthly"
Поддерживаемые частные реестры
Примеры того, как настроить доступ к частным реестрам, поддерживаемым Dependabot.
cargo-registrycomposer-repositorydocker-registrygitgoproxy-serverhex-organizationhex-repositorymaven-repositorynpm-registrynuget-feedpub-repositorypython-indexrubygems-serverterraform-registry
cargo-registry
Тип cargo-registry поддерживает маркер безопасности.
Этот тип реестра будет соответствовать префиксу пути, указанному в параметре url . Это означает, что вы можете предоставить несколько учетных данных одному узлу, который можно использовать для доступа к отдельным путям. Однако если у вас нет нескольких реестров на одном узле, рекомендуется опустить путь из urlраздела, чтобы все пути к реестру получали учетные данные.
registries:
cargo-example:
type: cargo-registry
registry: "name-of-your-registry"
url: https://cargo.cloudsmith.io/foobaruser/test/
token: "Token ${{secrets.CARGO_TOKEN}}"
Мы проверили эту конфигурацию в частном реестре https://cargo.cloudsmith.io .
composer-repository
Тип composer-repository поддерживает имя пользователя и пароль. Если учетная запись является учетной записью GitHub, вместо пароля можно использовать GitHub personal access token вместо пароля.
Этот тип реестра будет соответствовать префиксу пути, указанному в параметре url . Это означает, что вы можете предоставить несколько учетных данных одному узлу, который можно использовать для доступа к отдельным путям. Однако если у вас нет нескольких реестров на одном узле, рекомендуется опустить путь из urlраздела, чтобы все пути к реестру получали учетные данные.
registries:
composer:
type: composer-repository
url: https://repo.packagist.com/example-company/
username: octocat
password: ${{secrets.MY_PACKAGIST_PASSWORD}}
registries:
composer:
type: composer-repository
url: https://repo.packagist.com/example-company/
username: octocat
password: ${{secrets.MY_PACKAGIST_PASSWORD}}
docker-registry
Dependabot работает с любыми реестрами контейнеров, реализующими спецификацию реестра контейнеров OCI. Для получения дополнительной информации см. [https://github.com/opencontainers/distribution-spec/blob/main/spec.md](https://github.com/opencontainers/distribution-spec/blob/main/spec.md).
Dependabot поддерживает аутентификацию в частные реестры через центральный сервис токенов или HTTP Basic Auth. Для подробностей см. [спецификацию аутентификации токенов](https://docs.docker.com/registry/spec/auth/token/) в документации Docker и базовую [аутентификацию](https://en.wikipedia.org/wiki/Basic_access_authentication) доступа на Википедии.
Тип docker-registry поддерживает имя пользователя и пароль. Если учетная запись является учетной записью GitHub, вместо пароля можно использовать GitHub personal access token вместо пароля.
Этот тип реестра будет соответствовать префиксу пути, указанному в параметре url . Это означает, что вы можете предоставить несколько учетных данных одному узлу, который можно использовать для доступа к отдельным путям. Однако если у вас нет нескольких реестров на одном узле, рекомендуется опустить путь из urlраздела, чтобы все пути к реестру получали учетные данные.
registries:
dockerhub:
type: docker-registry
url: https://registry.hub.docker.com
username: octocat
password: ${{secrets.MY_DOCKERHUB_PASSWORD}}
replaces-base: true
registries:
dockerhub:
type: docker-registry
url: https://registry.hub.docker.com
username: octocat
password: ${{secrets.MY_DOCKERHUB_PASSWORD}}
replaces-base: true
Этот docker-registry тип также можно использовать для извлечения из частного ECR Amazon с помощью статических учетных данных AWS.
registries:
ecr-docker:
type: docker-registry
url: https://1234567890.dkr.ecr.us-east-1.amazonaws.com
username: ${{secrets.ECR_AWS_ACCESS_KEY_ID}}
password: ${{secrets.ECR_AWS_SECRET_ACCESS_KEY}}
replaces-base: true
registries:
ecr-docker:
type: docker-registry
url: https://1234567890.dkr.ecr.us-east-1.amazonaws.com
username: ${{secrets.ECR_AWS_ACCESS_KEY_ID}}
password: ${{secrets.ECR_AWS_SECRET_ACCESS_KEY}}
replaces-base: true
git
Тип git поддерживает имя пользователя и пароль. Если учетная запись является учетной записью GitHub, вместо пароля можно использовать GitHub personal access token вместо пароля.
registries:
github-octocat:
type: git
url: https://github.com
username: x-access-token
password: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
registries:
github-octocat:
type: git
url: https://github.com
username: x-access-token
password: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
goproxy-server
Тип goproxy-server поддерживает имя пользователя и пароль. Если учетная запись является учетной записью GitHub, вместо пароля можно использовать GitHub personal access token вместо пароля.
Этот тип реестра будет соответствовать префиксу пути, указанному в параметре url . Это означает, что вы можете предоставить несколько учетных данных одному узлу, который можно использовать для доступа к отдельным путям. Однако если у вас нет нескольких реестров на одном узле, рекомендуется опустить путь из urlраздела, чтобы все пути к реестру получали учетные данные.
registries:
my-private-registry:
type: goproxy-server
url: https://acme.jfrog.io/artifactory/api/go/my-repo
username: octocat
password: ${{secrets.MY_GO_REGISTRY_TOKEN}}
registries:
my-private-registry:
type: goproxy-server
url: https://acme.jfrog.io/artifactory/api/go/my-repo
username: octocat
password: ${{secrets.MY_GO_REGISTRY_TOKEN}}
hex-organization
Тип hex-organization поддерживает организацию и ключ.
Этот тип реестра будет соответствовать префиксу пути, указанному в параметре url . Это означает, что вы можете предоставить несколько учетных данных одному узлу, который можно использовать для доступа к отдельным путям. Однако если у вас нет нескольких реестров на одном узле, рекомендуется опустить путь из urlраздела, чтобы все пути к реестру получали учетные данные.
registries:
github-hex-org:
type: hex-organization
organization: github
key: ${{secrets.MY_HEX_ORGANIZATION_KEY}}
registries:
github-hex-org:
type: hex-organization
organization: github
key: ${{secrets.MY_HEX_ORGANIZATION_KEY}}
hex-repository
Тип hex-repository поддерживает ключ проверки подлинности.
`repo` является обязательным полем, которое должно соответствовать имени репозитория, используемого в объявлении зависимостей.
Это public-key-fingerprint необязательное поле конфигурации, представляющее отпечаток открытого ключа для репозитория Hex.
public-key-fingerprint используется Hex для установления доверия с частным репозиторием. Поле может быть как в открытом тексте, так и public-key-fingerprint сохранено в Dependabot секрете.
registries:
github-hex-repository:
type: hex-repository
repo: private-repo
url: https://private-repo.example.com
auth-key: ${{secrets.MY_AUTH_KEY}}
public-key-fingerprint: ${{secrets.MY_PUBLIC_KEY_FINGERPRINT}}
registries:
github-hex-repository:
type: hex-repository
repo: private-repo
url: https://private-repo.example.com
auth-key: ${{secrets.MY_AUTH_KEY}}
public-key-fingerprint: ${{secrets.MY_PUBLIC_KEY_FINGERPRINT}}
maven-repository
`maven-repository` Тип поддерживает имя пользователя, пароль и замену базы. Если учетная запись является учетной записью GitHub, вместо пароля можно использовать GitHub personal access token вместо пароля.
Этот тип реестра будет соответствовать префиксу пути, указанному в параметре url . Это означает, что вы можете предоставить несколько учетных данных одному узлу, который можно использовать для доступа к отдельным путям. Однако если у вас нет нескольких реестров на одном узле, рекомендуется опустить путь из urlраздела, чтобы все пути к реестру получали учетные данные.
registries:
maven-artifactory:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-maven-registry
username: octocat
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
replaces-base: true
registries:
maven-artifactory:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-maven-registry
username: octocat
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
replaces-base: true
Также можно использовать аутентификацию OIDC для доступа к JFrog Artifactory. С OIDC Dependabot динамически получают кратковременные учетные данные вместо использования статических учетных данных.
registries:
maven-artifactory-oidc:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-maven-registry
tenant-id: ${{secrets.ARTIFACTORY_TENANT_ID}}
client-id: ${{secrets.ARTIFACTORY_CLIENT_ID}}
replaces-base: true
registries:
maven-artifactory-oidc:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-maven-registry
tenant-id: ${{secrets.ARTIFACTORY_TENANT_ID}}
client-id: ${{secrets.ARTIFACTORY_CLIENT_ID}}
replaces-base: true
npm-registry
Тип npm-registry поддерживает имя пользователя и пароль или маркер безопасности. Если учетная запись является учетной записью GitHub, вместо пароля можно использовать GitHub personal access token вместо пароля.
При использовании имени пользователя и пароля .npmrcваш токен аутентификации может содержать закодированный base64``_password; однако пароль, указанный в вашем Dependabot конфигурационном файле, должен быть оригинальным (незакодированным) паролем.
Примечание.
При использовании npm.pkg.github.comне включайте путь. Вместо этого используйте https://npm.pkg.github.com URL-адрес без пути.
registries:
npm-npmjs:
type: npm-registry
url: https://registry.npmjs.org
username: octocat
password: ${{secrets.MY_NPM_PASSWORD}} # Must be an unencoded password
replaces-base: true
registries:
npm-npmjs:
type: npm-registry
url: https://registry.npmjs.org
username: octocat
password: ${{secrets.MY_NPM_PASSWORD}} # Must be an unencoded password
replaces-base: true
registries:
npm-github:
type: npm-registry
url: https://npm.pkg.github.com
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
replaces-base: true
registries:
npm-github:
type: npm-registry
url: https://npm.pkg.github.com
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
replaces-base: true
По соображениям безопасности не Dependabot устанавливает переменные среды. Yarn (версия 2 и более поздние версии) требует, чтобы все доступные переменные среды были заданы. При доступе к переменным среды в вашем .yarnrc.yml файле следует указать запасное значение, например ${ENV_VAR-fallback} или ${ENV_VAR:-fallback}. Дополнительные сведения см . в документации Yarnrc .
nuget-feed
Тип nuget-feed поддерживает имя пользователя и пароль или маркер безопасности. Если учетная запись является учетной записью GitHub, вместо пароля можно использовать GitHub personal access token вместо пароля.
`nuget-feed` не поддерживает `replaces-base` параметр.
registries:
nuget-example:
type: nuget-feed
url: https://nuget.example.com/v3/index.json
username: octocat@example.com
password: ${{secrets.MY_NUGET_PASSWORD}}
registries:
nuget-example:
type: nuget-feed
url: https://nuget.example.com/v3/index.json
username: octocat@example.com
password: ${{secrets.MY_NUGET_PASSWORD}}
registries:
nuget-azure-devops:
type: nuget-feed
url: https://pkgs.dev.azure.com/.../_packaging/My_Feed/nuget/v3/index.json
username: octocat@example.com
password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
registries:
nuget-azure-devops:
type: nuget-feed
url: https://pkgs.dev.azure.com/.../_packaging/My_Feed/nuget/v3/index.json
username: octocat@example.com
password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
Вы также можете использовать аутентификацию OIDC для доступа к Azure DevOps Artifacts. С OIDC Dependabot динамически получают кратковременные учетные данные вместо использования статических учетных данных.
registries:
nuget-azure-devops-oidc:
type: nuget-feed
url: https://pkgs.dev.azure.com/MyOrganization/MyProject/_packaging/MyArtifactFeedName/nuget/v3/index.json
tenant-id: ${{secrets.AZURE_TENANT_ID}}
client-id: ${{secrets.AZURE_CLIENT_ID}}
registries:
nuget-azure-devops-oidc:
type: nuget-feed
url: https://pkgs.dev.azure.com/MyOrganization/MyProject/_packaging/MyArtifactFeedName/nuget/v3/index.json
tenant-id: ${{secrets.AZURE_TENANT_ID}}
client-id: ${{secrets.AZURE_CLIENT_ID}}
Значения AZURE_TENANT_ID и AZURE_CLIENT_ID можно получить на обзорной странице регистрации вашего приложения Entra ID.
pub-repository
Тип pub-repository поддерживает URL-адрес и маркер.
registries:
my-pub-registry:
type: pub-repository
url: https://example-private-pub-repo.dev/optional-path
token: ${{secrets.MY_PUB_TOKEN}}
updates:
- package-ecosystem: "pub"
directory: "/"
schedule:
interval: "weekly"
registries:
- my-pub-registry
registries:
my-pub-registry:
type: pub-repository
url: https://example-private-pub-repo.dev/optional-path
token: ${{secrets.MY_PUB_TOKEN}}
updates:
- package-ecosystem: "pub"
directory: "/"
schedule:
interval: "weekly"
registries:
- my-pub-registry
python-index
Тип python-index поддерживает имя пользователя и пароль или маркер безопасности. Если учетная запись является учетной записью GitHub, вместо пароля можно использовать GitHub personal access token вместо пароля.
Этот тип реестра будет соответствовать префиксу пути, указанному в параметре url . Это означает, что вы можете предоставить несколько учетных данных одному узлу, который можно использовать для доступа к отдельным путям. Однако если у вас нет нескольких реестров на одном узле, рекомендуется опустить путь из urlраздела, чтобы все пути к реестру получали учетные данные.
registries:
python-example:
type: python-index
url: https://example.com/_packaging/my-feed/pypi/example
username: octocat
password: ${{secrets.MY_BASIC_AUTH_PASSWORD}}
replaces-base: true
registries:
python-example:
type: python-index
url: https://example.com/_packaging/my-feed/pypi/example
username: octocat
password: ${{secrets.MY_BASIC_AUTH_PASSWORD}}
replaces-base: true
registries:
python-azure:
type: python-index
url: https://pkgs.dev.azure.com/octocat/_packaging/my-feed/pypi/example
username: octocat@example.com
password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
replaces-base: true
registries:
python-azure:
type: python-index
url: https://pkgs.dev.azure.com/octocat/_packaging/my-feed/pypi/example
username: octocat@example.com
password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
replaces-base: true
Вы также можете использовать аутентификацию OIDC для доступа к Azure DevOps Artifacts. С OIDC Dependabot динамически получают кратковременные учетные данные вместо использования статических учетных данных.
registries:
python-azure-oidc:
type: python-index
url: https://pkgs.dev.azure.com/octocat/_packaging/my-feed/pypi/example
tenant-id: ${{secrets.AZURE_TENANT_ID}}
client-id: ${{secrets.AZURE_CLIENT_ID}}
replaces-base: true
registries:
python-azure-oidc:
type: python-index
url: https://pkgs.dev.azure.com/octocat/_packaging/my-feed/pypi/example
tenant-id: ${{secrets.AZURE_TENANT_ID}}
client-id: ${{secrets.AZURE_CLIENT_ID}}
replaces-base: true
rubygems-server
Тип rubygems-server поддерживает имя пользователя и пароль или маркер безопасности. Если учетная запись является учетной записью GitHub, вместо пароля можно использовать GitHub personal access token вместо пароля.
Этот тип реестра будет соответствовать префиксу пути, указанному в параметре url . Это означает, что вы можете предоставить несколько учетных данных одному узлу, который можно использовать для доступа к отдельным путям. Однако если у вас нет нескольких реестров на одном узле, рекомендуется опустить путь из urlраздела, чтобы все пути к реестру получали учетные данные.
registries:
ruby-example:
type: rubygems-server
url: https://rubygems.example.com
username: octocat@example.com
password: ${{secrets.MY_RUBYGEMS_PASSWORD}}
replaces-base: true
registries:
ruby-example:
type: rubygems-server
url: https://rubygems.example.com
username: octocat@example.com
password: ${{secrets.MY_RUBYGEMS_PASSWORD}}
replaces-base: true
registries:
ruby-github:
type: rubygems-server
url: https://rubygems.pkg.github.com/octocat/github_api
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
replaces-base: true
registries:
ruby-github:
type: rubygems-server
url: https://rubygems.pkg.github.com/octocat/github_api
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
replaces-base: true
terraform-registry
Тип terraform-registry поддерживает маркер безопасности.
registries:
terraform-example:
type: terraform-registry
url: https://terraform.example.com
token: ${{secrets.MY_TERRAFORM_API_TOKEN}}
registries:
terraform-example:
type: terraform-registry
url: https://terraform.example.com
token: ${{secrets.MY_TERRAFORM_API_TOKEN}}