Sobre a configuração do Dependabot para acessar somente 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 saber mais sobre suporte e configuração de registro privado, confira "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, consulte "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 obter mais informações, confira "Sobre o Dependabot em executores do GitHub Actions" e "Gerenciar o Dependabot em executores auto-hospedados."
É possível configurar o Dependabot para acessar apenas registros privados removendo as 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 replaces-base
como true
no arquivo dependabot.yml
. Para obter mais informações, confira "Opções de configuração para o arquivo dependabot.yml".
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"
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, confira "Opções de configuração para o arquivo dependabot.yml".
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 }}
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
Opção 2
Defina replaces-base
como true
no arquivo dependabot.yml
. Para obter mais informações, confira "Opções de configuração para o arquivo dependabot.yml". O registro configurado com replaces-base
pode ser usado como um espelho ou um cache de preenchimento automático. 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, confira "Opções de configuração para o arquivo dependabot.yml".
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
como true
no arquivo dependabot.yml
. Para obter mais informações, confira "Opções de configuração para o arquivo dependabot.yml".
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>
Nó
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, confira "Opções de configuração para o arquivo dependabot.yml".
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
Opção 2
Se não houver um registro global definido em um arquivo .npmrc
, será possível definir replaces-base
como true
no arquivo dependabot.yml
. Para obter mais informações, confira "Opções de configuração para o arquivo dependabot.yml".
Observação: para dependências com escopo definido (@my-org/my-dep
), o 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 compatíveis com o Dependabot, mas o Dependabot requer uma configuração diferente para que cada ecossistema acesse somente 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, confira "Opções de configuração para o arquivo dependabot.yml".
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"
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
.yarnrc
na raiz do projeto com o registro de chave. Como alternativa, executeyarn config set registry <private registry URL>
.registry https://private_registry_url
Opção 3
Se não houver um registro global definido em um arquivo .yarnrc
, defina replaces-base
como true
no arquivo dependabot.yml
. Para obter mais informações, confira "Opções de configuração para o arquivo dependabot.yml".
Observação: para dependências com escopo definido (@my-org/my-dep
), o 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 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, confira "Opções de configuração para o arquivo dependabot.yml".
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"
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.yml
na 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 com escopo definido (@my-org/my-dep
), o Dependabot requer 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 do Nuget acesse somente registros privados, é possível configurar o arquivo dependabot.yml
. Para obter mais informações, confira "Opções de configuração para o arquivo dependabot.yml".
Além disso, o ecossistema do Nuget requer o check-in de um arquivo nuget.config
no repositório, com uma marca < clear />
na seção <packageSources>
ou uma chave nuget.org
como true 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>
A fim de configurar o Dependabot para acessar feeds públicos e privados, confira o exemplo dependabot.yml
a seguir, que inclui o feed public
configurado emregistries
:
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, confira "Opções de configuração para o arquivo dependabot.yml".
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 faça check-in do arquivo no repositório.
[global]
timeout = 60
index-url = https://private_registry_url
Opção 2
Defina replaces-base
como true
no arquivo dependabot.yml
. Para obter mais informações, confira "Opções de configuração para o arquivo dependabot.yml".
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
como true
no arquivo dependabot.yml
. Para obter mais informações, confira "Opções de configuração para o arquivo dependabot.yml".
Opção 2
Defina a configuração do registro privado em um arquivo dependabot.yml
. Para obter mais informações, confira "Opções de configuração para o arquivo dependabot.yml".
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
Pipenv
Para configurar o Pipenv a fim de acessar somente registros privados, remova replaces-base
do arquivo dependabot.yml
. Para obter mais informações, confira "Opções de configuração para o arquivo dependabot.yml".
Observação: exclua replaces-base: true
do arquivo de configuração.
Adicione a URL do registro privado à seção [[source]]
do arquivo Pipfile
e faça check-in do arquivo no repositório.
[[source]]
url = "https://private_registry_url"
verify_ssl = true
name = "pypi"
Poetry
Para configurar o Poetry a fim de acessar somente registros privados, defina replaces-base
como true
no arquivo dependabot.yml
. Para obter mais informações, confira "Opções de configuração para o arquivo dependabot.yml".
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