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, confira Diretrizes para a configuração de registros privados para o Dependabot.
É 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.
Observação
Antes de remover o acesso aos registros públicos de sua configuração para Dependabot updates, verifique se o administrador do site configurou os executores do Dependabot com acesso aos registros privados de que você precisa. Para saber mais, confira Configurando o Dependabot para trabalhar com acesso limitado à Internet.
Bundler
Para configurar o ecossistema do Bundler a fim de acessar somente registros privados, defina replaces-base: true no arquivo dependabot.yml. Para saber mais, confira 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 "http://private_registry_url"
# Example Gemfile
source "http://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 saber mais, confira 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 saber mais, confira Configurando o acesso a registros privados para Dependabot. 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 saber mais, confira 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 "http://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 saber mais, confira 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>http://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 saber mais, confira 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=http://private_registry_url
registry=http://private_registry_url
Opção 2
Se não houver um registro global definido em um arquivo .npmrc, você pode definir replaces-base: true no arquivo dependabot.yml. Para saber mais, confira Configurando o acesso a registros privados para Dependabot.
Observação
Para as dependências com escopo (@my-org/my-dep), o Dependabot exige que o registro privado seja definido no arquivo .npmrc do projeto. Para definir registros privados para escopos individuais, use @myscope:registry=http://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 saber mais, confira 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 "http://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 "http://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 http://private_registry_url
registry http://private_registry_url
Opção 3
Se não houver um registro global definido em um arquivo .yarnrc, você pode definir replaces-base: true no arquivo dependabot.yml. Para saber mais, confira Configurando o acesso a registros privados para Dependabot.
Observação
Para as dependências com escopo (@my-org/my-dep), o Dependabot exige que o registro privado seja definido no arquivo .npmrc do projeto. Para definir registros privados para escopos individuais, use @myscope:registry=http://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 saber mais, confira 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 "http://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 "http://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: "http://private_registry_url"
Observação
Para as dependências com escopo (@my-org/my-dep), o Dependabot exige que o registro privado seja definido no arquivo .yarnrc do projeto. Para definir registros privados para escopos individuais, use "@myscope:registry" "http://private_registry_url".
NuGet
Para permitir que o ecossistema NuGet acesse somente registros privados, é possível configurar o arquivo dependabot.yml. Para saber mais, confira Configurando o acesso a registros privados para Dependabot.
Além disso, o ecossistema 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="http://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="http://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: http://nuget.example.com/v3/index.json
username: $
password: $
public:
type: nuget-feed
url: http://api.nuget.org/v3/index.json
updates:
- package-ecosystem: nuget
directory: "/"
registries: "*"
schedule:
interval: daily
version: 2
registries:
nuget-example:
type: nuget-feed
url: http://nuget.example.com/v3/index.json
username: $
password: $
public:
type: nuget-feed
url: http://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 saber mais, confira 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 faça check-in do arquivo no repositório.
[global] timeout = 60 index-url = http://private_registry_url
[global]
timeout = 60
index-url = http://private_registry_url
Opção 2
Defina replaces-base: true no arquivo dependabot.yml. Para saber mais, confira 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 saber mais, confira Configurando o acesso a registros privados para Dependabot.
Opção 2
Defina a configuração do registro privado em um arquivo dependabot.yml. Para saber mais, confira 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 http://private_registry_url
--index-url http://private_registry_url
Pipenv
Para configurar o Pipenv a fim de acessar somente registros privados, remova replaces-base do arquivo dependabot.yml. Para saber mais, confira 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 faça check-in do arquivo no repositório.
[[source]] url = "http://private_registry_url" verify_ssl = true name = "pypi"
[[source]]
url = "http://private_registry_url"
verify_ssl = true
name = "pypi"
Poetry
Para configurar o Poetry a fim de acessar somente registros privados, defina replaces-base: true no arquivo dependabot.yml. Para saber mais, confira 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 = "http://private_registry_url" default = true
[[tool.poetry.source]]
name = "private"
url = "http://private_registry_url"
default = true