Настройка Dependabot для доступа только к частным реестрам
Dependabot может получить доступ к общедоступным реестрам по умолчанию, и вы можете настроить Dependabot для доступа к частным реестрам. Дополнительные сведения о поддержке и настройке частного реестра см. в разделе "Настройка доступа к частным реестрам для Dependabot". Подробные сведения о доступных вариантах, а также рекомендации и советы по настройке частных реестров см. в разделе "Руководство по настройке частных реестров для Dependabot".
Чтобы обеспечить более широкий контроль над доступом Dependabotк частным реестрам и внутренним сетевым ресурсам, можно настроить Dependabot для запуска в GitHub Actions локально размещенных средств выполнения. Дополнительные сведения см. в разделе "[AUTOTITLE" и "Сведения о зависимостях на GitHub Actions runners](/code-security/dependabot/working-with-dependabot/managing-dependabot-on-self-hosted-runners)".
Вы можете настроить Dependabot для доступа только_ к _частным реестрам, удалив вызовы к общедоступным реестрам. Это можно настроить только для экосистем, перечисленных в этой статье.
Средство увязки программ в пакеты
Чтобы настроить экосистему Bundler только для доступа к частным реестрам, можно задать replaces-base
как true
в dependabot.yml
файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Для экосистемы bundler также требуется, чтобы файл с URL-адресом Gemfile
частного реестра был проверен в репозитории.
# Example Gemfile
source "https://private_registry_url"
Docker
Чтобы настроить экосистему Docker только для доступа к частным реестрам, можно использовать эти методы конфигурации.
Вариант 1
Определите конфигурацию частного dependabot.yml
реестра в файле без replaces-base
. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Примечание. Удалите replaces-base: true
из файла конфигурации.
version: 2
registries:
azuretestregistry: # Define access for a private registry
type: docker-registry
url: firewallregistrydep.azurecr.io
username: firewallregistrydep
password: ${{ secrets.AZUREHUB_PASSWORD }}
Dockerfile
В файле добавьте имя изображения в форматеIMAGE[:TAG]
, в котором IMAGE
состоит имя пользователя и имя репозитория.
FROM firewallregistrydep.azurecr.io/myreg/ubuntu:22.04
Вариант 2
Задайте replaces-base
значение true
в dependabot.yml
файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml. Реестр, настроенный с replaces-base
его помощью, можно использовать в качестве зеркального отображения или извлечения через кэш. Дополнительные сведения см . в разделе "Реестр" в качестве извлечения кэша в документации по Docker.
Gradle
Чтобы настроить экосистему Gradle только для доступа к частным реестрам, можно использовать эти методы конфигурации.
Определите конфигурацию частного dependabot.yml
реестра в файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Примечание. Удаление замены base: true из файла конфигурации.
Кроме того, необходимо также указать URL-адрес частного build.gradle
реестра в repositories
разделе файла.
# Example build.gradle file
repositories {
maven {
url "https://private_registry_url"
}
}
Maven
Чтобы настроить экосистему Maven только для доступа к частным реестрам, можно использовать эти методы конфигурации.
Вариант 1
Задайте replaces-base
значение true
в dependabot.yml
файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Вариант 2
Используйте только URL-адрес частного pom.xml
реестра в файле.
<project>
...
<repositories>
<repository>
<id>central</id>
<name>your custom repo</name>
<url>https://private_registry_url</url>
</repository>
...
</project>
Узел
npm
Чтобы настроить экосистему npm только для доступа к частным реестрам, можно использовать эти методы конфигурации.
Вариант 1
Определите конфигурацию частного dependabot.yml
реестра в файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Примечание. Удалите replaces-base: true
из файла конфигурации.
Экосистема npm также требует, чтобы файл с URL-адресом .npmrc
частного реестра был проверен в репозитории.
registry=https://private_registry_url
Вариант 2
Если в файле отсутствует глобальный .npmrc
реестр, его можно задать replaces-base
как true
в dependabot.yml
файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Примечание. Для зависимостей в области (@my-org/my-dep
), Dependabot требует, чтобы частный реестр был определен в файле проекта .npmrc
. Чтобы определить частные реестры для отдельных областей, используйте @myscope:registry=https://private_registry_url
.
Yarn
Частные реестры Yarn Classic и Yarn Berry поддерживаются Dependabot, но Dependabot требует другой конфигурации для каждой экосистемы для доступа только к частным реестрам.
Yarn Classic
Чтобы настроить классическую экосистему Yarn только для доступа к частным реестрам, можно использовать эти методы конфигурации.
Вариант 1
Определите конфигурацию частного dependabot.yml
реестра в файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Примечание. Удаление replaces-base: true
из файла конфигурации.
Чтобы частный реестр был указан в качестве источника зависимостей в файле проекта yarn.lock
, запустите yarn install
на компьютере с закрытым доступом к реестру. Yarn должен обновить resolved
поле, чтобы включить URL-адрес частного реестра.
encoding@^0.1.11:
version "0.1.13"
resolved "https://private_registry_url/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
dependencies:
iconv-lite "^0.6.2"
Вариант 2
yarn.lock
Если файл не перечисляет частный реестр в качестве источника зависимостей, вы можете настроить Yarn Classic в соответствии с обычными инструкциями диспетчера пакетов:
-
Определение конфигурации частного
dependabot.yml
реестра в файле -
Добавьте реестр
.yarnrc
в файл в корневом каталоге проекта с реестром разделов. Кроме того, запуститеyarn config set registry <private registry URL>
.registry https://private_registry_url
Вариант 3
Если в файле отсутствует глобальный .yarnrc
реестр, его можно задать replaces-base
как true
в dependabot.yml
файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Примечание. Для зависимостей в области (@my-org/my-dep
), Dependabot требует, чтобы частный реестр был определен в файле проекта .npmrc
. Чтобы определить частные реестры для отдельных областей, используйте @myscope:registry=https://private_registry_url
.
Yarn Berry
Чтобы настроить экосистему Yarn Berry только для доступа к частным реестрам, можно использовать эти методы конфигурации.
Вариант 1
Определите конфигурацию частного dependabot.yml
реестра в файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Примечание. Удаление replaces-base: true
из файла конфигурации.
Чтобы частный реестр был указан в качестве источника зависимостей в файле проекта yarn.lock
, запустите yarn install
на компьютере с закрытым доступом к реестру. Yarn должен обновить resolved
поле, чтобы включить URL-адрес частного реестра.
encoding@^0.1.11:
version "0.1.13"
resolved "https://private_registry_url/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
dependencies:
iconv-lite "^0.6.2"
Вариант 2
yarn.lock
Если файл не перечисляет частный реестр в качестве источника зависимостей, можно настроить Yarn Berry в соответствии с обычными инструкциями диспетчера пакетов:
- Определение конфигурации частного
dependabot.yml
реестра в файле - Добавьте реестр
.yarnrc.yml
в файл в корневом каталоге проекта с помощью ключаnpmRegistryServer
. Кроме того, запуститеyarn config set npmRegistryServer <private registry URL>
.npmRegistryServer: "https://private_registry_url"
Примечание. Для зависимостей в области (@my-org/my-dep
), Dependabot требует, чтобы частный реестр был определен в файле проекта .yarnrc
. Чтобы определить частные реестры для отдельных областей, используйте "@myscope:registry" "https://private_registry_url"
.
Nuget
Чтобы разрешить экосистеме Nuget доступ только к частным реестрам, можно настроить dependabot.yml
файл. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Экосистема Nuget также требует nuget.config
, чтобы файл был извлечен в репозиторий с тегом < clear />
в <packageSources>
разделе или ключом nuget.org
, как true в disabledPackageSources
разделе nuget.config
файла.
Это пример тега < clear />
в packageSources
разделе раздела nuget.config
.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
< clear />
<add key="example-nuget" value="https://private_registry_url/nuget/example-nuget/index.json" />
</packageSources>
</configuration>
Это пример добавления ключа nuget.org
в disabledPackageSources
раздел раздела nuget.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="example-nuget" value="https://private_registry_url/nuget/example-nuget/index.json" />
</packageSources>
<disabledPackageSources>
<add key="nuget.org" value="true" />
</disabledPackageSources>
</configuration>
Чтобы настроить Dependabot для доступа как к частным , так и к общедоступным веб-каналам, просмотрите следующий пример, включающий настроенный public
веб-канал вregistries
:dependabot.yml
version: 2
registries:
nuget-example:
type: nuget-feed
url: https://nuget.example.com/v3/index.json
username: $
password: $
public:
type: nuget-feed
url: https://api.nuget.org/v3/index.json
updates:
- package-ecosystem: nuget
directory: "/"
registries: "*"
schedule:
interval: daily
Python
Pip, Pip-компиляция, Pipenv и Поэзия — это четыре диспетчера пакетов, которые в настоящее время поддерживает экосистема Python.
PIP
Чтобы настроить экосистему Pip только для доступа к частным реестрам, можно использовать эти методы конфигурации.
Вариант 1
Определите конфигурацию частного dependabot.yml
реестра в файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Примечание. Удаление replaces-base: true
из файла конфигурации.
Добавьте URL-адрес [global]
частного pip.conf
реестра в раздел файла и проверьте файл в репозитории.
[global]
timeout = 60
index-url = https://private_registry_url
Вариант 2
Задайте replaces-base
значение true
в dependabot.yml
файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Pip-compile
Чтобы настроить экосистему Pip-компиляции только для доступа к частным реестрам, можно использовать эти методы конфигурации.
Вариант 1
Задайте replaces-base
значение true
в dependabot.yml
файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Вариант 2
Определите конфигурацию частного dependabot.yml
реестра в файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Примечание. Удаление replaces-base: true
из файла конфигурации.
Добавьте URL-адрес requirements.txt
частного реестра в файл и проверьте файл в репозитории.
--index-url https://private_registry_url
Pipenv
Чтобы настроить Pipenv только для доступа к частным реестрам, удалите replaces-base
из dependabot.yml
файла. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Примечание. Удаление replaces-base: true
из файла конфигурации.
Добавьте URL-адрес [[source]]
частного Pipfile
реестра в раздел файла и проверьте файл в репозитории.
[[source]]
url = "https://private_registry_url"
verify_ssl = true
name = "pypi"
Poetry
Чтобы настроить поэзию только для доступа к частным реестрам, задайте replaces-base
значение true
в dependabot.yml
файле. Дополнительные сведения см. в разделе Параметры конфигурации для файла dependabot.yml.
Добавьте URL-адрес [[tool.poetry.source]]
частного pyproject.toml
реестра в раздел файла и проверьте его в репозитории.
[[tool.poetry.source]]
name = "private"
url = "https://private_registry_url"
default = true