Acerca de la configuración de Dependabot para acceder solo a registros privados
Dependabot puede acceder a los registros públicos de forma predeterminada, pero puedes configurar Dependabot para que acceda a los privados también. Para obtener más información sobre la compatibilidad con el registro privado y su configuración, consulta "Configuración del acceso a registros privados para Dependabot". Para obtener información detallada sobre las opciones disponibles, así como recomendaciones y consejos al configurar registros privados, consulta «Guía para la configuración de registros privados para Dependabot».
Para tener un mayor control sobre el acceso de Dependabot a los registros privados y a los recursos de red internos, puede configurar Dependabot para que se ejecute en los ejecutores autohospedados de GitHub Actions. Para obtener más información, vea «Acerca de Dependabot en ejecutores de Acciones de GitHub» y «Administración de Dependabot en ejecutores de prueba interna».
Puedes configurar Dependabot para que acceda solo a registros privados mediante la eliminación de llamadas a registros públicos. Esta configuración solo se puede realizar para los ecosistemas enumerados en este artículo.
Bundler
Para configurar el ecosistema de Bundler para que solo tenga acceso a registros privados, puede establecer replaces-base
como true
en el archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Además, el ecosistema Bundler requiere que se registre en el repositorio un archivo Gemfile
con la dirección URL del registro privado.
# Example Gemfile
source "https://private_registry_url"
Docker
Para configurar el ecosistema de Docker para que solo acceda a registros privados, puedes usar estos métodos de configuración.
Opción 1
Define la configuración del registro privado en un archivo dependabot.yml
sin replaces-base
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Nota: Elimine replaces-base: true
del archivo de configuración.
version: 2
registries:
azuretestregistry: # Define access for a private registry
type: docker-registry
url: firewallregistrydep.azurecr.io
username: firewallregistrydep
password: ${{ secrets.AZUREHUB_PASSWORD }}
En el archivo Dockerfile
, agrega el nombre de la imagen en el formato de IMAGE[:TAG]
, donde IMAGE
consta de tu nombre de usuario y el nombre del repositorio.
FROM firewallregistrydep.azurecr.io/myreg/ubuntu:22.04
Opción 2
Establece replaces-base
como true
en el archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml». El registro configurado con replaces-base
se puede usar como reflejo o una extracción mediante la memoria caché. Para más información, consulta Registro como una extracción mediante la memoria caché en la documentación de Docker.
Gradle
Para configurar el ecosistema Gradle para que solo acceda a registros privados, puedes usar estos métodos de configuración.
Define la configuración del registro privado en un archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Nota: Elimine replaces-base: true del archivo de configuración.
Además, también debes especificar la dirección URL del registro privado en la sección repositories
del archivo build.gradle
.
# Example build.gradle file
repositories {
maven {
url "https://private_registry_url"
}
}
Maven
Para configurar el ecosistema Maven para que solo acceda a registros privados, puedes usar estos métodos de configuración.
Opción 1
Establece replaces-base
como true
en el archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Opción 2
Usa solo la dirección URL del registro privado en el archivo pom.xml
.
<project>
...
<repositories>
<repository>
<id>central</id>
<name>your custom repo</name>
<url>https://private_registry_url</url>
</repository>
...
</project>
Nodo
npm
Para configurar el ecosistema npm para que solo acceda a registros privados, puedes usar estos métodos de configuración.
Opción 1
Define la configuración del registro privado en un archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Nota: Elimine replaces-base: true
del archivo de configuración.
Además, el ecosistema npm requiere que se registre en el repositorio un archivo .npmrc
con la dirección URL del registro privado.
registry=https://private_registry_url
Opción 2
Si no hay ningún registro global definido en un archivo .npmrc
, puede establecer replaces-base
como true
en el archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Nota: En el caso de las dependencias con ámbito (@my-org/my-dep
), Dependabot requiere que el registro privado se defina en el archivo .npmrc
del proyecto. Para definir registros privados para ámbitos individuales, usa @myscope:registry=https://private_registry_url
.
Yarn
Los registros privados de Yarn Classic y Yarn Berry son compatibles con Dependabot, pero Dependabot requiere una configuración diferente para que cada ecosistema acceda solo a registros privados.
Yarn Classic
Para configurar el ecosistema Yarn Classic para que solo acceda a registros privados, puedes usar estos métodos de configuración.
Opción 1
Define la configuración del registro privado en un archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Nota: Elimina replaces-base: true
del archivo de configuración.
Para asegurarte de que el registro privado aparece como origen de dependencia en el archivo yarn.lock
del proyecto, ejecuta yarn install
en una máquina con acceso privado al registro. Yarn debe actualizar el campo resolved
para incluir la dirección URL del 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"
Opción 2
Si el archivo yarn.lock
no muestra el registro privado como origen de dependencia, puedes configurar Yarn Classic según las instrucciones normales del administrador de paquetes:
-
Definición de la configuración del registro privado en un archivo
dependabot.yml
-
Agrega el registro a un archivo
.yarnrc
en la raíz del proyecto con el registro de claves. También puedes ejecutaryarn config set registry <private registry URL>
.registry https://private_registry_url
Opción 3
Si no hay ningún registro global definido en un archivo .yarnrc
, puede establecer replaces-base
como true
en el archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Nota: En el caso de las dependencias con ámbito (@my-org/my-dep
), Dependabot requiere que el registro privado se defina en el archivo .npmrc
del proyecto. Para definir registros privados para ámbitos individuales, usa @myscope:registry=https://private_registry_url
.
Yarn Berry
Para configurar el ecosistema Yarn Berry para que solo acceda a registros privados, puedes usar estos métodos de configuración.
Opción 1
Define la configuración del registro privado en un archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Nota: Elimina replaces-base: true
del archivo de configuración.
Para asegurarte de que el registro privado aparece como origen de dependencia en el archivo yarn.lock
del proyecto, ejecuta yarn install
en una máquina con acceso privado al registro. Yarn debe actualizar el campo resolved
para incluir la dirección URL del 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"
Opción 2
Si el archivo yarn.lock
no muestra el registro privado como origen de dependencia, puedes configurar Yarn Berry según las instrucciones normales del administrador de paquetes:
- Definición de la configuración del registro privado en un archivo
dependabot.yml
- Agrega el registro a un archivo
.yarnrc.yml
en la raíz del proyecto con la clavenpmRegistryServer
. También puedes ejecutaryarn config set npmRegistryServer <private registry URL>
.npmRegistryServer: "https://private_registry_url"
Nota: En el caso de las dependencias con ámbito (@my-org/my-dep
), Dependabot requiere que el registro privado se defina en el archivo .yarnrc
del proyecto. Para definir registros privados para ámbitos individuales, usa "@myscope:registry" "https://private_registry_url"
.
Nuget
Para permitir que el ecosistema Nuget solo acceda a registros privados, puedes configurar el archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Además, el ecosistema Nuget requiere que se registre en el repositorio un archivo nuget.config
, con una etiqueta < clear />
en la sección <packageSources>
o una clave nuget.org
como true en la sección disabledPackageSources
del archivo nuget.config
.
Este es un ejemplo de una etiqueta < clear />
en la sección 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 es un ejemplo de cómo agregar la clave nuget.org
como true a la sección 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 acceder a fuentes públicas y privadas, consulta el ejemplo siguiente dependabot.yml
que incluye la fuente public
configurada en 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
Python
Pip, Pip-compile, Pipenv y Poetry son los cuatro administradores de paquetes que admite actualmente el ecosistema Python.
Pip
Para configurar el ecosistema Pip para que solo acceda a registros privados, puedes usar estos métodos de configuración.
Opción 1
Define la configuración del registro privado en un archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Nota: Elimina replaces-base: true
del archivo de configuración.
Agrega la dirección URL del registro privado a la sección [global]
del archivo pip.conf
y registra el archivo en el repositorio.
[global]
timeout = 60
index-url = https://private_registry_url
Opción 2
Establece replaces-base
como true
en el archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Pip-compile
Para configurar el ecosistema Pip-compile para que solo acceda a registros privados, puedes usar estos métodos de configuración.
Opción 1
Establece replaces-base
como true
en el archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Opción 2
Define la configuración del registro privado en un archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Nota: Elimina replaces-base: true
del archivo de configuración.
Agrega la dirección URL del registro privado al archivo requirements.txt
y registra el archivo en el repositorio.
--index-url https://private_registry_url
Pipenv
Para configurar Pipenv para que solo acceda a registros privados, quita replaces-base
del archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Nota: Elimina replaces-base: true
del archivo de configuración.
Agrega la dirección URL del registro privado a la sección [[source]]
del archivo Pipfile
y registra el archivo en el repositorio.
[[source]]
url = "https://private_registry_url"
verify_ssl = true
name = "pypi"
Poetry
Para configurar Poetry para que solo acceda a registros privados, establece replaces-base
como true
en el archivo dependabot.yml
. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml».
Agrega la dirección URL del registro privado a la sección [[tool.poetry.source]]
del archivo pyproject.toml
y regístrala en el repositorio.
[[tool.poetry.source]]
name = "private"
url = "https://private_registry_url"
default = true