Sobre a configuração Dependabot para acessar apenas registros privados
O Dependabot pode acessar registros públicos por padrão e você pode configurar o Dependabot para também acessar registros privados. Para obter mais informações sobre o suporte e a configuração do Registro Privado, consulte Configurando o acesso a registros privados para Dependabot. Para obter informações detalhadas sobre as opções disponíveis, bem como recomendações e conselhos ao configurar registros privados, confira Diretrizes para a configuração de registros privados para o Dependabot.
Para ter maior controle sobre o acesso do Dependabot aos seus registros privados e recursos de rede interna, você pode configurar o Dependabot para ser executado em executores auto-hospedados do GitHub Actions. Para saber mais, confira Dependabot nos executores do GitHub Actions e Configurar o Dependabot em executores auto-hospedados.
Você pode configurar Dependabot para acessar apenas registros privados removendo chamadas para registros públicos. Essa configuração só pode ser feita para os ecossistemas listados neste artigo.
Bundler
Para configurar o ecossistema do Bundler a fim de acessar somente registros privados, defina como replaces-base: true no arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Além disso, o ecossistema do Bundler requer o check-in de um arquivo Gemfile com a URL de registro privado no repositório.
# Example Gemfile source "https://private_registry_url"
# Example Gemfile
source "https://private_registry_url"
Docker
Para configurar o ecossistema do Docker a fim de acessar somente registros privados, use os métodos de configuração a seguir.
Opção 1
Defina a configuração do registro privado em um arquivo dependabot.yml sem replaces-base. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Observação
Remova replaces-base: true do arquivo de configuração.
version: 2
registries:
azuretestregistry: # Define access for a private registry
type: docker-registry
url: firewallregistrydep.azurecr.io
username: firewallregistrydep
password: ${{ secrets.AZUREHUB_PASSWORD }}
version: 2
registries:
azuretestregistry: # Define access for a private registry
type: docker-registry
url: firewallregistrydep.azurecr.io
username: firewallregistrydep
password: ${{ secrets.AZUREHUB_PASSWORD }}
No arquivo Dockerfile, adicione o nome da imagem no formato IMAGE[:TAG], em que IMAGE consiste no seu nome de usuário e no nome do repositório.
FROM firewallregistrydep.azurecr.io/myreg/ubuntu:22.04
FROM firewallregistrydep.azurecr.io/myreg/ubuntu:22.04
Opção 2
Defina replaces-base: true no arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot. O registro configurado com replaces-base pode ser usado como um espelho ou um cache de pull-through. Para saber mais, confira Registro como um cache de preenchimento automático na documentação do Docker.
Gradle
Para configurar o ecossistema do Gradle a fim de acessar somente registros privados, use os métodos de configuração a seguir.
Defina a configuração do registro privado em um arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Observação
Remova replaces-base: true do arquivo de configuração.
Além disso, também é necessário especificar a URL do registro privado na seção repositories do arquivo build.gradle.
# Example build.gradle file
repositories {
maven {
url "https://private_registry_url"
}
}
Maven
Para configurar o ecossistema do Maven a fim de acessar somente registros privados, use os métodos de configuração a seguir.
Opção 1
Defina replaces-base: true no arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Opção 2
Use somente a URL do registro privado no arquivo pom.xml.
<project>
...
<repositories>
<repository>
<id>central</id>
<name>your custom repo</name>
<url>https://private_registry_url</url>
</repository>
...
</project>
Node
npm
Para configurar o ecossistema do npm a fim de acessar somente registros privados, use os métodos de configuração a seguir.
Opção 1
Defina a configuração do registro privado em um arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Observação
Remova replaces-base: true do arquivo de configuração.
Além disso, o ecossistema do npm requer o check-in de um arquivo .npmrc com a URL do registro privado no repositório.
registry=https://private_registry_url
registry=https://private_registry_url
Opção 2
Se não houver um registro global definido em um arquivo .npmrc, será possível definir como replaces-base: true no arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Observação
Para dependências com escopo (@my-org/my-dep), Dependabot requer que o registro privado seja definido no arquivo .npmrc do projeto. Para definir registros privados para escopos individuais, use @myscope:registry=https://private_registry_url.
Yarn
Os registros privados do Yarn Classic e do Yarn Berry são ambos compatíveis com Dependabot, mas Dependabot exige uma configuração diferente para que cada ecossistema acesse apenas registros privados.
Yarn Classic
Para configurar o ecossistema do Yarn Classic a fim de acessar somente registros privados, use os métodos de configuração a seguir.
Opção 1
Defina a configuração do registro privado em um arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Observação
Exclua replaces-base: true do arquivo de configuração.
Para garantir que o registro privado esteja listado como a fonte de dependência no arquivo yarn.lock do projeto, execute yarn install em um computador com acesso ao registro privado. O Yarn deve atualizar o campo resolved para incluir a URL do registro privado.
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"
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"
Opção 2
Se o arquivo yarn.lock não listar o registro privado como fonte de dependência, será possível configurar o Yarn Classic de acordo com as instruções normais do gerenciador de pacotes:
-
Defina a configuração do registro privado em um arquivo
dependabot.yml -
Adicione o registro a um arquivo
.yarnrcna raiz do projeto com o registro de chave. Como alternativa, executeyarn config set registry <private registry URL>.YAML registry https://private_registry_url
registry https://private_registry_url
Opção 3
Se não houver um registro global definido em um arquivo .yarnrc, defina como replaces-base: true no arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Observação
Para dependências com escopo (@my-org/my-dep), Dependabot exige que o registro particular seja definido no arquivo .npmrc do projeto. Para definir registros privados para escopos individuais, use @myscope:registry=https://private_registry_url.
Yarn Berry
Para configurar o ecossistema do Yarn Berry a fim de acessar somente registros privados, use os métodos de configuração a seguir.
Opção 1
Defina a configuração do registro privado em um arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Observação
Exclua replaces-base: true do arquivo de configuração.
Para garantir que o registro privado esteja listado como a fonte de dependência no arquivo yarn.lock do projeto, execute yarn install em um computador com acesso ao registro privado. O Yarn deve atualizar o campo resolved para incluir a URL do registro privado.
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"
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"
Opção 2
Se o arquivo yarn.lock não listar o registro privado como fonte de dependência, será possível configurar o Yarn Berry de acordo com as instruções normais do gerenciador de pacotes:
- Defina a configuração do registro privado em um arquivo
dependabot.yml - Adicione o registro a um arquivo
.yarnrc.ymlna raiz do projeto com a chavenpmRegistryServer. Como alternativa, executeyarn config set npmRegistryServer <private registry URL>.npmRegistryServer: "https://private_registry_url"
Observação
Para dependências de escopo (@my-org/my-dep), Dependabot exige que o registro privado seja definido no arquivo .yarnrc do projeto. Para definir registros privados para escopos individuais, use "@myscope:registry" "https://private_registry_url".
NuGet
Para permitir que o ecossistema NuGet acesse somente registros privados, é possível configurar o arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Além disso, o ecossistema NuGet requer que um arquivo nuget.config seja registrado no repositório, com uma marca < clear /> na seção <packageSources> ou uma chave nuget.org com valor verdadeiro na seção disabledPackageSources do arquivo nuget.config.
Este é um exemplo de uma marca < clear /> na seção packageSources de 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>
Este é um exemplo de adição da chave nuget.org como true à seção disabledPackageSources de 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>
Para configurar Dependabot para acessar feeds privados e públicos, consulte o exemplo dependabot.yml a seguir, que inclui o feed configurado public sob registries:
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
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
O Pip, o Pip-compile, o Pipenv e o Poetry são os quatro gerenciadores de pacotes compatíveis atualmente com o ecossistema do Python.
Pip
Para configurar o ecossistema do Pip a fim de acessar somente registros privados, use os métodos de configuração a seguir.
Opção 1
Defina a configuração do registro privado em um arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Observação
Exclua replaces-base: true do arquivo de configuração.
Adicione a URL do registro privado à seção [global] do arquivo pip.conf e envie o arquivo para o repositório.
[global] timeout = 60 index-url = https://private_registry_url
[global]
timeout = 60
index-url = https://private_registry_url
Opção 2
Defina replaces-base: true no arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Pip-compile
Para configurar o ecossistema do Pip-compile a fim de acessar somente registros privados, use os métodos de configuração a seguir.
Opção 1
Defina replaces-base: true no arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Opção 2
Defina a configuração do registro privado em um arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Observação
Exclua replaces-base: true do arquivo de configuração.
Adicione a URL do registro privado ao arquivo requirements.txt para fazer o check-in dele no repositório.
--index-url https://private_registry_url
--index-url https://private_registry_url
Pipenv
Para configurar o Pipenv a fim de acessar somente registros privados, remova replaces-base do arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Observação
Exclua replaces-base: true do arquivo de configuração.
Adicione a URL do registro privado à seção [[source]] do arquivo Pipfile e envie o arquivo para o repositório.
[[source]] url = "https://private_registry_url" verify_ssl = true name = "pypi"
[[source]]
url = "https://private_registry_url"
verify_ssl = true
name = "pypi"
Poesia
Para configurar o Poetry a fim de acessar somente registros privados, defina como replaces-base: true no arquivo dependabot.yml. Para obter mais informações, consulte Configurando o acesso a registros privados para Dependabot.
Adicione a URL do registro privado à seção [[tool.poetry.source]] do arquivo pyproject.toml e faça check-in dele no repositório.
[[tool.poetry.source]] name = "private" url = "https://private_registry_url" default = true
[[tool.poetry.source]]
name = "private"
url = "https://private_registry_url"
default = true