关于私有注册表
Dependabot 版本更新可保持您的依赖项为最新状态,Dependabot 安全更新可修复有漏洞的依赖项。Dependabot 能访问公共注册表。此外,您还可以授予 Dependabot 对私有包注册表和私有 GitHub 仓库的访问权限,从而让您的私有和内部源码依赖与公共依赖一样保持最新和安全。
在大多数生态系统中,私有依赖通常发布到私有包注册表。这些私有注册表与公共注册表类似,但需要进行身份验证。
对于特定的生态系统,您可以通过移除对公共注册表的调用,使 Dependabot 仅 访问私有注册表。欲了解更多信息,请参阅 移除 Dependabot 对公共注册表的访问。
要让 Dependabot 访问私有托管或受内部网络限制的注册表,请配置 Dependabot 在 GitHub Actions 自托管运行器上运行。欲了解更多信息,请参阅 在自托管运行器上配置 Dependabot。
配置私有注册表
您可以在组织层级配置 Dependabot 对私有注册表的访问。有关如何进行配置的更多信息,请参阅 授权安全功能访问私有注册表。
您也可以在 dependabot.yml 文件中配置 Dependabot 对私有注册表的访问。顶层的 registries 键是可选的,用于指定身份验证详情。
dependabot.yml 文件中有两个位置可以使用 registries 键
- 在顶层,您可以在此定义注册表及其访问信息(如有需要)。
- 在
updates块中,您可以使用registries: "*",告诉 Dependabot 使用您在顶层定义的任意或全部注册表。
# 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 使用的凭证
要让 Dependabot 访问 GitHub 支持的私有注册表,您需要将注册表的访问令牌或密钥存储在仓库或组织的密钥库中。
关于 Dependabot 的加密密钥
Dependabot 密钥是加密的凭证,您可以在组织层级或仓库层级创建。当您在组织层级添加密钥时,可以指定哪些仓库可以访问该密钥。您可以使用密钥让 Dependabot 更新位于私有包注册表中的依赖项。添加密钥后,它会在到达 GitHub 前被加密,并在 Dependabot 使用该密钥访问私有包注册表之前保持加密状态。
Dependabot 密钥还包括由 Dependabot 拉取请求触发的 GitHub Actions 工作流使用的密钥。虽然 Dependabot 本身可能不使用这些密钥,但工作流需要它们。欲了解更多信息,请参阅 GitHub Actions 上的 Dependabot 故障排除。
添加 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 上,导航至仓库的主页面。
-
在您的仓库名称下,点击 设置。如果看不到 “设置” 选项卡,请选择 下拉菜单,然后点击 设置。

-
在侧边栏的 “安全” 部分,选择 密钥和变量,然后点击 Dependabot。
-
点击 新仓库机密。
-
在 名称 输入框中输入密钥的名称。
-
输入密钥的值。
-
点击 添加密钥。
密钥的名称会显示在 Dependabot 密钥页面上。您可以点击 更新 来更改密钥值。您可以点击 删除 来删除该密钥。
为 Dependabot 添加组织密钥
在组织中创建密钥时,您可以使用策略来限制哪些仓库可以访问该密钥。例如,您可以授予所有仓库访问权限,或仅限私有仓库或指定的仓库列表访问。
要在组织层级创建密钥,您必须拥有 admin 访问权限。
-
在 GitHub 上,前往该组织的首页。
-
在您的组织名称下,点击 设置。如果看不到 “设置” 选项卡,请选择 下拉菜单,然后点击 设置。

-
在侧边栏的 “安全” 部分,选择 密钥和变量,然后点击 Dependabot。忽略 “私有注册表” 选项,该选项仅用于代码扫描的默认设置。
-
点击 新组织机密。
-
在 名称 输入框中输入密钥的名称。
-
输入密钥的 Value(值)。
-
在 Repository access(仓库访问) 下拉列表中选择一个访问策略。
-
如果您选择了 已选仓库
- 点击.
- 在对话框中,选择能够访问此密钥的仓库。
- 点击 更新选择。
-
点击 添加密钥。
密钥的名称会显示在 Dependabot 密钥页面上。您可以点击 更新 来更改密钥值或其访问策略。您可以点击 删除 来删除该密钥。
配置防火墙 IP 规则
您可以将与 Dependabot 相关的 IP 地址添加到注册表的 IP 允许列表中。
如果您的私有注册表已配置 IP 允许列表,您可以在 meta API 端点的 actions 键下找到 Dependabot 用于访问注册表的 IP 地址。欲了解更多信息,请参阅 元数据的 REST API 端点 和 关于 GitHub Actions 运行器上的 Dependabot。
使用 OIDC 进行身份验证
Dependabot 可以使用 OpenID Connect(OIDC)对私有注册表进行身份验证,从而无需将长期凭证存储为仓库密钥。
使用基于 OIDC 的身份验证时,Dependabot 更新作业可以动态地从您的云身份提供商获取短期凭证,就像使用 OIDC 联合的 GitHub Actions 工作流一样。
当注册表托管在以下云提供商之一时,若注册表使用 username 和 password 进行身份验证,Dependabot 支持对其进行 OIDC 身份验证:
- AWS CodeArtifact
- Azure DevOps Artifacts
- JFrog Artifactory
要配置 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 Artifactory
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 类型支持 token。
此注册表类型会对 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 个人访问令牌代替密码。
此注册表类型会对 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。Dependabot 支持通过集中令牌服务或 HTTP 基本身份验证对私有注册表进行身份验证。有关更多细节,请参阅 Docker 文档中的 令牌认证规范以及维基百科上的 基本访问认证。
docker-registry 类型支持用户名和密码。如果账户是 GitHub 账户,您可以使用 GitHub 个人访问令牌代替密码。
此注册表类型会对 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 类型还可用于使用静态 AWS 凭证从私有 Amazon ECR 拉取。
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 个人访问令牌代替密码。
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 个人访问令牌代替密码。
此注册表类型会对 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}}
helm-registry
helm-registry 类型仅支持 HTTP 基本身份验证,不支持 OCI 兼容的注册表。如果您需要访问 Helm 图表的 OCI 兼容注册表,请改为配置 docker-registry。
helm-registry 类型支持用户名和密码。如果账户是 GitHub 账户,您可以使用 GitHub 个人访问令牌代替密码。
此注册表类型会对 url 选项中提供的路径进行前缀匹配。这意味着您可以为同一主机提供多个凭证,以访问不同的路径。不过,如果在同一主机上没有多个注册表,我们建议您在 url 中省略路径,这样注册表的所有路径都会使用相同的凭证。
registries:
helm_registry:
type: helm-registry
url: https://registry.example.com
username: octocat
password: ${{secrets.MY_REGISTRY_PASSWORD}}
registries:
helm_registry:
type: helm-registry
url: https://registry.example.com
username: octocat
password: ${{secrets.MY_REGISTRY_PASSWORD}}
hex-organization
hex-organization 类型支持 organization 和 key。
此注册表类型会对 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 与私有仓库建立信任。该字段可以明文列出,也可以存储为 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 类型支持用户名、密码以及 replaces-base。如果账户是 GitHub 账户,您可以使用 GitHub 个人访问令牌代替密码。
此注册表类型会对 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 类型支持用户名和密码,或 token。如果账户是 GitHub 账户,您可以使用 GitHub 个人访问令牌代替密码。
使用用户名和密码时,您 .npmrc 中的 auth token 可能包含经过 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(v2 及以上)要求访问的任何环境变量必须已设置。在 .yarnrc.yml 文件中访问环境变量时,您应提供后备值,例如 ${ENV_VAR-fallback} 或 ${ENV_VAR:-fallback}。欲了解更多信息,请参阅 Yarn 文档中的 Yarnrc 文件。
nuget-feed
nuget-feed 类型支持用户名和密码,或 token。如果账户是 GitHub 账户,您可以使用 GitHub 个人访问令牌代替密码。
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 和 token。
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 类型支持用户名和密码,或 token。如果账户是 GitHub 账户,您可以使用 GitHub 个人访问令牌代替密码。
此注册表类型会对 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 类型支持用户名和密码,或 token。如果账户是 GitHub 账户,您可以使用 GitHub 个人访问令牌代替密码。
此注册表类型会对 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 类型支持 token。
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}}