删除对公共注册表的 Dependabot 访问权限
举例说明如何通过删除对公共注册表的调用,将 Dependabot 配置为仅访问专用注册表。 删除对公共注册表的访问权限
关于如何将 Dependabot 配置为仅访问专用注册表 Dependabot 可以访问公共注册表,你可以将 Dependabot 配置为也访问专用注册表。
有关专用注册表支持和配置的详细信息,请参阅“为 Dependabot 配置对专用注册表的访问”。
可以通过删除对公共注册表的调用,将 Dependabot 配置为仅访问专用注册表。 这只能为本文中列出的生态系统进行配置。
Bundler
# Example Gemfile
source "https://private_registry_url"
若要将捆绑程序生态系统配置为仅访问专用注册表,可以在 dependabot.yml 文件中将 replaces-base 设置为 true。
有关详细信息,请参阅dependabot.yml 文件的配置选项。
捆绑程序生态系统还要求将具有专用注册表 URL 的 Gemfile 文件签入存储库。
Docker 若要将 Docker 生态系统配置为仅访问专用注册表,可以使用下面几种配置方法。
选项 1
在不使用 replaces-base 的 dependabot.yml 文件中定义专用注册表配置。
有关详细信息,请参阅“dependabot.yml 文件的配置选项”。
version: 2
registries:
azuretestregistry: # Define access for a private registry
type: docker-registry
url: firewallregistrydep.azurecr.io
username: firewallregistrydep
password: ${{ secrets.AZUREHUB_PASSWORD }}
FROM firewallregistrydep.azurecr.io/myreg/ubuntu:18.04
注意:从配置文件中移除 replaces-base: true。
有关详细信息,请参阅dependabot.yml 文件的配置选项。
使用 replaces-base 配置的注册表可用作镜像或拉取缓存。
有关更多详细信息,请参阅 Docker 文档中的将注册表作为拉取缓存。 Gradle
若要将 Gradle 生态系统配置为仅访问专用注册表,可以使用下面几种配置方法。
在 dependabot.yml 文件中定义专用注册表配置。
有关详细信息,请参阅“dependabot.yml 文件的配置选项”。
# Example build.gradle file
repositories {
maven {
url "https://private_registry_url"
}
}
注意:从配置文件中移除 replaces-base: true。
此外,还需要在 build.gradle 文件的 repositories 部分中指定专用注册表 URL。
Maven 若要将 Maven 生态系统配置为仅访问专用注册表,可以使用下面几种配置方法。
选项 1
在 dependabot.yml 文件中将 replaces-base 设置为 true。
<project>
...
<repositories>
<repository>
<id>central</id>
<name>your custom repo</name>
<url>https://private_registry_url</url>
</repository>
...
</project>
有关详细信息,请参阅dependabot.yml 文件的配置选项。
方法 2
仅使用 pom.xml 文件中的专用注册表 URL。
节点
npm 若要将 npm 生态系统配置为仅访问专用注册表,可以使用下面几种配置方法。
选项 1
在 dependabot.yml 文件中定义专用注册表配置。
有关详细信息,请参阅“dependabot.yml 文件的配置选项”。
registry=https://private_registry_url
注意:从配置文件中移除 replaces-base: true。
方法 2
如果 .npmrc 文件中未定义全局注册表,可以在 dependabot.yml 文件中将 replaces-base 设置为 true。 有关详细信息,请参阅“dependabot.yml 文件的配置选项”。
注意:对于已限定范围的依赖项 (@my-org/my-dep),Dependabot 要求在项目的 .npmrc 文件中定义专用注册表。
若要为个别范围定义专用注册表,请使用 @myscope:registry=https://private_registry_url。
Yarn
Dependabot 同时支持 Yarn Classic 和 Yarn Berry 专用注册表,但 Dependabot 要求每个生态系统使用不同的配置才能仅访问专用注册表。
Yarn Classic 若要将 Yarn Classic 生态系统配置为仅访问专用注册表,可以使用下面几种配置方法。
选项 1
在 dependabot.yml 文件中定义专用注册表配置。
有关详细信息,请参阅“dependabot.yml 文件的配置选项”。
若要确保专用注册表作为项目的 yarn.lock 文件中的依赖项源列出,请在具有专用注册表访问权限的计算机上运行 yarn install。
- Yarn 应更新
resolved字段以包含专用注册表 URL。 - 方法 2 如果
yarn.lock文件没有将专用注册表列为依赖项源,则可以根据常规包管理器的说明来设置 Yarn Classic:registry https://private_registry_url
在 dependabot.yml 文件中定义专用注册表配置
使用 registry 键将注册表添加到项目根目录中的 .yarnrc 文件中。 或者,运行 yarn config set registry <private registry URL>。
选项 3
如果 .yarnrc 文件中未定义全局注册表,可以在 dependabot.yml 文件中将 replaces-base 设置为 true。 有关详细信息,请参阅“dependabot.yml 文件的配置选项”。
注意:对于已限定范围的依赖项 (@my-org/my-dep),Dependabot 要求在项目的 .npmrc 文件中定义专用注册表。
若要为个别范围定义专用注册表,请使用 @myscope:registry=https://private_registry_url。
Yarn Berry 若要将 Yarn Berry 生态系统配置为仅访问专用注册表,可以使用下面几种配置方法。
选项 1
在 dependabot.yml 文件中定义专用注册表配置。
有关详细信息,请参阅“dependabot.yml 文件的配置选项”。
Yarn 应更新 resolved 字段以包含专用注册表 URL。
- 方法 2 如果
yarn.lock文件没有将专用注册表列为依赖项源,则可以根据常规包管理器的说明来设置 Yarn Berry:npmRegistryServer: "https://private_registry_url"
在 dependabot.yml 文件中定义专用注册表配置
使用 npmRegistryServer 键将注册表添加到项目根目录中的 .yarnrc.yml 文件中。 或者,运行 yarn config set npmRegistryServer <private registry URL>。
注意:对于已限定范围的依赖项 (@my-org/my-dep),Dependabot 要求在项目的 .yarnrc 文件中定义专用注册表。
若要为个别范围定义专用注册表,请使用 "@myscope:registry" "https://private_registry_url"。
Nuget
若要允许 Nuget 生态系统仅访问专用注册表,可以配置 dependabot.yml 文件。
<?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>
有关详细信息,请参阅dependabot.yml 文件的配置选项。
<?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>
此外,Nuget 生态系统还要求将 nuget.config 文件签入存储库,其中 <packageSources> 部分中包含 < clear /> 标记,或者在 nuget.config 文件的 disabledPackageSources 部分中将 nuget.org 键设置为 true。
下面的示例是 nuget.config 的 packageSources 部分中的 < clear /> 标记。
下面的示例向 nuget.config 的 disabledPackageSources 部分添加设为“true”的 nuget.org 键
Python
Pip、Pip-compile、Pipenv 和 Poetry 是 Python 生态系统目前支持的四个包管理器。
Pip 若要将 Pip 生态系统配置为仅访问专用注册表,可以使用下面几种配置方法。
选项 1
在 dependabot.yml 文件中定义专用注册表配置。
有关详细信息,请参阅“dependabot.yml 文件的配置选项”。
[global]
timeout = 60
index-url = https://private_registry_url
注意:从配置文件中删除 replaces-base: true。
方法 2
在 dependabot.yml 文件中将 replaces-base 设置为 true。
有关详细信息,请参阅dependabot.yml 文件的配置选项。
Pip-compile 若要将 Pip-compile 生态系统配置为仅访问专用注册表,可以使用下面几种配置方法。
选项 1
在 dependabot.yml 文件中将 replaces-base 设置为 true。 有关详细信息,请参阅dependabot.yml 文件的配置选项。
方法 2
在 dependabot.yml 文件中定义专用注册表配置。
有关详细信息,请参阅“dependabot.yml 文件的配置选项”。
将专用注册表 URL 添加到 `requirements.txt` 文件,并将该文件签入存储库。Pipenv
若要将 Pipenv 配置为仅访问专用注册表,请从 dependabot.yml 文件中移除 replaces-base。
有关详细信息,请参阅“dependabot.yml 文件的配置选项”。
[[source]]
url = "https://private_registry_url"
verify_ssl = true
name = "pypi"
注意:从配置文件中删除 replaces-base: true。
诗歌
[[tool.poetry.source]]
name = "private"
url = "https://private_registry_url"
default = true