À propos de la configuration de Dependabot pour accéder uniquement aux registres privés
Dependabot peut accéder aux registres publics par défaut, et vous pouvez configurer Dependabot pour accéder également aux registres privés. Pour plus d’informations sur la prise en charge et la configuration des registres privés, consultez « Configuration de l’accès aux registres privés pour Dependabot ». Pour des informations détaillées sur les options disponibles, ainsi que des recommandations et des conseils sur la configuration des registres privés, consultez « Aide pour la configuration des registres privés pour Dependabot ».
Vous pouvez configurer Dependabot pour accéder uniquement aux registres privés en supprimant les appels aux registres publics. Ce paramétrage n’est possible que pour les écosystèmes indiqués dans cet article.
Remarque : Avant de supprimer l’accès aux registres publics de votre configuration pour les Dependabot updates, vérifiez que votre administrateur de site a configuré les exécuteurs Dependabot avec un accès aux registres privés dont vous avez besoin. Pour plus d’informations, consultez « Configuration de Dependabot pour fonctionner avec un accès Internet limité ».
Bundler
Pour configurer l’écosystème Bundler de façon à accéder uniquement aux registres privés, vous pouvez définir replaces-base
comme true
dans le fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Dans l’écosystème Bundler, il est également nécessaire qu’un fichier Gemfile
comportant l’URL du registre privé soit archivé dans le référentiel.
# Example Gemfile
source "https://private_registry_url"
Docker
Pour configurer l’écosystème Docker de façon à accéder uniquement aux registres privés, vous pouvez utiliser les méthodes de configuration suivantes.
Option 1 :
Définissez la configuration du registre privé dans un fichier dependabot.yml
sans replaces-base
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Remarque : Supprimez replaces-base: true
du fichier de configuration.
version: 2
registries:
azuretestregistry: # Define access for a private registry
type: docker-registry
url: firewallregistrydep.azurecr.io
username: firewallregistrydep
password: ${{ secrets.AZUREHUB_PASSWORD }}
Dans le fichier Dockerfile
, ajoutez le nom de l’image au format IMAGE[:TAG]
, où IMAGE
se compose de votre nom d’utilisateur et du nom du référentiel.
FROM firewallregistrydep.azurecr.io/myreg/ubuntu:22.04
Option 2 :
Définissez replaces-base
comme true
dans le fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ». Le registre configuré avec replaces-base
peut être utilisé comme un miroir ou un cache d’extraction. Pour plus d’informations, consultez Registre utilisé comme cache d’extraction dans la documentation Docker.
Gradle
Pour configurer l’écosystème Gradle de façon à accéder uniquement aux registres privés, vous pouvez utiliser les méthodes de configuration suivantes.
Définissez la configuration du registre privé dans un fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Remarque : Supprimez replaces-base: true du fichier de configuration.
Vous devez également spécifier l’URL du registre privé dans la section repositories
du fichier build.gradle
.
# Example build.gradle file
repositories {
maven {
url "https://private_registry_url"
}
}
Maven
Pour configurer l’écosystème Maven de façon à accéder uniquement aux registres privés, vous pouvez utiliser les méthodes de configuration suivantes.
Option 1 :
Définissez replaces-base
comme true
dans le fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Option 2 :
Utilisez uniquement l’URL du registre privé dans le fichier pom.xml
.
<project>
...
<repositories>
<repository>
<id>central</id>
<name>your custom repo</name>
<url>https://private_registry_url</url>
</repository>
...
</project>
Nœud
npm
Pour configurer l’écosystème npm de façon à accéder uniquement aux registres privés, vous pouvez utiliser les méthodes de configuration suivantes.
Option 1 :
Définissez la configuration du registre privé dans un fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Remarque : Supprimez replaces-base: true
du fichier de configuration.
Dans l’écosystème npm, il est également nécessaire qu’un fichier .npmrc
comportant l’URL du registre privé soit archivé dans le référentiel.
registry=https://private_registry_url
Option 2 :
Si aucun registre global n’est spécifié dans un fichier .npmrc
, vous pouvez définir replaces-base
comme true
dans le fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Remarque : dans le cas des dépendances délimitées (@my-org/my-dep
), il est nécessaire pour Dependabot que le registre privé soit défini dans le fichier .npmrc
du projet. Pour définir des registres privés avec des étendues individuelles, utilisez @myscope:registry=https://private_registry_url
.
Yarn
Les registres privés Yarn Classic et Yarn Berry sont tous deux pris en charge par Dependabot, mais Dependabot a besoin d’une configuration propre à chaque écosystème pour accéder uniquement aux registres privés.
Yarn Classic
Pour configurer l’écosystème Yarn Classic de façon à accéder uniquement aux registres privés, vous pouvez utiliser les méthodes de configuration suivantes.
Option 1 :
Définissez la configuration du registre privé dans un fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Remarque : supprimez replaces-base: true
du fichier de configuration.
Pour que le registre privé figure bien parmi les sources de dépendance dans le fichier yarn.lock
du projet, exécutez yarn install
sur une machine disposant d’un accès au registre privé. Yarn met alors à jour le champ resolved
de façon à inclure l’URL du registre privé.
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"
Option 2 :
Si le fichier yarn.lock
ne comprend pas le registre privé comme source de dépendance, vous pouvez configurer Yarn Classic suivant les instructions normales du gestionnaire de package :
-
Définissez la configuration du registre privé dans un fichier
dependabot.yml
. -
Ajoutez le registre à un fichier
.yarnrc
à la racine du projet avec le registre de clés. Autre possibilité : exécutezyarn config set registry <private registry URL>
.registry https://private_registry_url
Option 3
Si aucun registre global n’est spécifié dans un fichier .yarnrc
, vous pouvez définir replaces-base
comme true
dans le fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Remarque : dans le cas des dépendances délimitées (@my-org/my-dep
), il est nécessaire pour Dependabot que le registre privé soit défini dans le fichier .npmrc
du projet. Pour définir des registres privés avec des étendues individuelles, utilisez @myscope:registry=https://private_registry_url
.
Yarn Berry
Pour configurer l’écosystème Yarn Berry de façon à accéder uniquement aux registres privés, vous pouvez utiliser les méthodes de configuration suivantes.
Option 1 :
Définissez la configuration du registre privé dans un fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Remarque : supprimez replaces-base: true
du fichier de configuration.
Pour que le registre privé figure bien parmi les sources de dépendance dans le fichier yarn.lock
du projet, exécutez yarn install
sur une machine disposant d’un accès au registre privé. Yarn met alors à jour le champ resolved
de façon à inclure l’URL du registre privé.
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"
Option 2 :
Si le fichier yarn.lock
ne comprend pas le registre privé comme source de dépendance, vous pouvez configurer Yarn Berry suivant les instructions normales du gestionnaire de package :
- Définissez la configuration du registre privé dans un fichier
dependabot.yml
. - Ajoutez le registre à un fichier
.yarnrc.yml
à la racine du projet avec la clénpmRegistryServer
. Autre possibilité : exécutezyarn config set npmRegistryServer <private registry URL>
.npmRegistryServer: "https://private_registry_url"
Remarque : dans le cas des dépendances délimitées (@my-org/my-dep
), il est nécessaire pour Dependabot que le registre privé soit défini dans le fichier .yarnrc
du projet. Pour définir des registres privés avec des étendues individuelles, utilisez "@myscope:registry" "https://private_registry_url"
.
NuGet
Pour autoriser l’écosystème Nuget à accéder uniquement aux registres privés, vous pouvez configurer le fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Dans l’écosystème Nuget, il est également nécessaire qu’un fichier nuget.config
soit archivé dans le référentiel, avec une balise < clear />
dans la section <packageSources>
ou une clé nuget.org
de valeur true dans la section disabledPackageSources
du fichier nuget.config
.
Voici un exemple de balise < clear />
dans la section packageSources
du fichier 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>
Voici un exemple d’ajout de la clé nuget.org
avec la valeur true dans la section disabledPackageSources
du fichier 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>
Pour configurer Dependabot afin d’accéder aux flux privés et publics, consultez l’exemple dependabot.yml
suivant qui inclut le flux public
configuré sous 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 et Poetry sont les quatre gestionnaires de package actuellement pris en charge par l’écosystème Python.
Pip
Pour configurer l’écosystème Pip de façon à accéder uniquement aux registres privés, vous pouvez utiliser les méthodes de configuration suivantes.
Option 1 :
Définissez la configuration du registre privé dans un fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Remarque : supprimez replaces-base: true
du fichier de configuration.
Ajoutez l’URL du registre privé à la section [global]
du fichier pip.conf
et archivez le fichier dans le référentiel.
[global]
timeout = 60
index-url = https://private_registry_url
Option 2 :
Définissez replaces-base
comme true
dans le fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Pip-compile
Pour configurer l’écosystème Pip-compile de façon à accéder uniquement aux registres privés, vous pouvez utiliser les méthodes de configuration suivantes.
Option 1 :
Définissez replaces-base
comme true
dans le fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Option 2 :
Définissez la configuration du registre privé dans un fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Remarque : supprimez replaces-base: true
du fichier de configuration.
Ajoutez l’URL du registre privé au fichier requirements.txt
et archivez le fichier dans le référentiel.
--index-url https://private_registry_url
Pipenv
Pour configurer Pipenv de façon à accéder uniquement aux registres privés, supprimez replaces-base
du fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Remarque : supprimez replaces-base: true
du fichier de configuration.
Ajoutez l’URL du registre privé à la section [[source]]
du fichier Pipfile
et archivez le fichier dans le référentiel.
[[source]]
url = "https://private_registry_url"
verify_ssl = true
name = "pypi"
Poetry
Pour configurer Poetry de façon à accéder uniquement aux registres privés, définissez replaces-base
comme true
dans le fichier dependabot.yml
. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Ajoutez l’URL du registre privé à la section [[tool.poetry.source]]
du fichier pyproject.toml
et archivez le fichier dans le référentiel.
[[tool.poetry.source]]
name = "private"
url = "https://private_registry_url"
default = true