À 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 afin qu’il accède uniquement aux registres privés, vous pouvez définir replaces-base: true dans le fichier dependabot.yml. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ».
Dans l’écosystème Bundler, il est en outre nécessaire qu’un fichier Gemfile comportant l’URL du registre privé soit présent dans le référentiel.
# Example Gemfile source "https://private_registry_url"
# 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 « Configuration de l’accès aux registres privés pour Dependabot ».
Remarque
Supprimer 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 }}
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
FROM firewallregistrydep.azurecr.io/myreg/ubuntu:22.04
**Option 2 :**
Définissez replaces-base: true dans le fichier dependabot.yml. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ». 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 « Configuration de l’accès aux registres privés pour Dependabot ».
Remarque
Supprimer 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: true dans le fichier dependabot.yml. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ».
**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 « Configuration de l’accès aux registres privés pour Dependabot ».
Remarque
Supprimer 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
registry=https://private_registry_url
**Option 2 :**
Si aucun registre global n’est défini dans un fichier .npmrc, vous pouvez définir replaces-base: true dans le fichier dependabot.yml. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ».
Remarque
Pour les 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 pour des portées 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 « Configuration de l’accès aux registres privés pour Dependabot ».
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"
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>.YAML registry https://private_registry_url
registry https://private_registry_url**Option 3**
Si aucun registre global n’est défini dans un fichier .yarnrc, vous pouvez définir replaces-base: true dans le fichier dependabot.yml. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ».
Remarque
Pour les 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 pour 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 « Configuration de l’accès aux registres privés pour Dependabot ».
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"
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
Pour les 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 « Configuration de l’accès aux registres privés pour Dependabot ».
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
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 « Configuration de l’accès aux registres privés pour Dependabot ».
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
[global]
timeout = 60
index-url = https://private_registry_url
**Option 2 :**
Définissez replaces-base: true dans le fichier dependabot.yml. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ».
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: true dans le fichier dependabot.yml. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ».
**Option 2 :**
Définissez la configuration du registre privé dans un fichier dependabot.yml. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ».
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
--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 « Configuration de l’accès aux registres privés pour Dependabot ».
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"
[[source]]
url = "https://private_registry_url"
verify_ssl = true
name = "pypi"
Poésie
Pour configurer Poetry afin qu’il accède uniquement aux registres privés, définissez replaces-base: true dans le fichier dependabot.yml. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ».
Ajoutez l'URL du registre privé à la section [[tool.poetry.source]] du fichier pyproject.toml et déposez-le dans le référentiel.
[[tool.poetry.source]] name = "private" url = "https://private_registry_url" default = true
[[tool.poetry.source]]
name = "private"
url = "https://private_registry_url"
default = true