Informationen zum Konfigurieren von Dependabot nur für den Zugriff auf private Registrierungen
Dependabot kann standardmäßig auf öffentliche Registrierungen zugreifen, und du kannst Dependabot für den Zugriff auf private Registrierungen konfigurieren. Weitere Informationen zur Unterstützung privater Registrierungen und zur Konfiguration findest du unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot. Ausführliche Informationen zu verfügbaren Optionen sowie Empfehlungen und Ratschläge beim Konfigurieren privater Registrierungen sind unter Leitfaden zum Konfigurieren privater Registrierungen für Dependabot zu finden.
Um den Zugriff von Dependabot auf deine privaten Registrierungen und internen Netzwerkressourcen besser kontrollieren zu können, kannst du Dependabot so konfigurieren, dass er auf GitHub Actions selbst gehosteten Runnern läuft. Weitere Informationen findest du unter Informationen zu Dependabot über GitHub Actions-Runner und unter Verwalten von Dependabot auf selbst gehosteten Runnern.
Du kannst Dependabot so konfigurieren, dass nur auf private Registrierungen zugegriffen wird, indem du Aufrufe von öffentlichen Registrierungen entfernst. Diese Konfiguration kann nur für die im vorliegenden Artikel aufgeführten Ökosysteme vorgenommen werden.
Bundler
Um das Bundler-Ökosystem so zu konfigurieren, dass es nur auf private Registrierungen zugreift, kannst du replaces-base
in der Datei dependabot.yml
auf true
festlegen. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Für das Bundler-Ökosystem muss zusätzlich eine Gemfile
-Datei mit der URL der privaten Registrierung in das Repository eingecheckt werden.
# Example Gemfile
source "https://private_registry_url"
Docker
Um das Docker-Ökosystem so zu konfigurieren, dass es nur auf private Registrierungen zugreift, kannst du die folgenden Konfigurationsmethoden verwenden.
Option 1:
Definiere die Konfiguration der privaten Registrierung in einer dependabot.yml
-Datei ohne replaces-base
. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Hinweis: Entfernen Sie replaces-base: true
aus der Konfigurationsdatei.
version: 2
registries:
azuretestregistry: # Define access for a private registry
type: docker-registry
url: firewallregistrydep.azurecr.io
username: firewallregistrydep
password: ${{ secrets.AZUREHUB_PASSWORD }}
Füge in der Datei Dockerfile
den Imagenamen im Format IMAGE[:TAG]
hinzu, wobei IMAGE
aus deinem Benutzernamen und dem Namen des Repositorys besteht.
FROM firewallregistrydep.azurecr.io/myreg/ubuntu:22.04
Option 2:
Lege replaces-base
in der Datei dependabot.yml
auf true
fest. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml. Die mit replaces-base
konfigurierte Registrierung kann als Spiegel oder als Pull-Through-Cache verwendet werden. Weitere Informationen findest du unter Registrierung als Pull-Through-Cache in der Docker-Dokumentation.
Gradle
Um das Gradle-Ökosystem so zu konfigurieren, dass es nur auf private Registrierungen zugreift, kannst du die folgenden Konfigurationsmethoden verwenden.
Definiere die Konfiguration der privaten Registrierung in einer dependabot.yml
-Datei. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Hinweis: Entfernen Sie „replaces-base: true“ aus der Konfigurationsdatei.
Außerdem musst du die URL der privaten Registry im Abschnitt repositories
der Datei build.gradle
angeben.
# Example build.gradle file
repositories {
maven {
url "https://private_registry_url"
}
}
Maven
Um das Maven-Ökosystem so zu konfigurieren, dass es nur auf private Registrierungen zugreift, kannst du die folgenden Konfigurationsmethoden verwenden.
Option 1:
Lege replaces-base
in der Datei dependabot.yml
auf true
fest. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Option 2:
Verwende nur die URL der privaten Registrierung in der Datei pom.xml
.
<project>
...
<repositories>
<repository>
<id>central</id>
<name>your custom repo</name>
<url>https://private_registry_url</url>
</repository>
...
</project>
Knoten
npm
Um das npm-Ökosystem so zu konfigurieren, dass es nur auf private Registrierungen zugreift, kannst du die folgenden Konfigurationsmethoden verwenden.
Option 1:
Definiere die Konfiguration der privaten Registrierung in einer dependabot.yml
-Datei. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Hinweis: Entfernen Sie replaces-base: true
aus der Konfigurationsdatei.
Für das npm-Ökosystem muss zusätzlich eine .npmrc
-Datei mit der URL der privaten Registrierung in das Repository eingecheckt werden.
registry=https://private_registry_url
Option 2:
Wenn in einer .npmrc
-Datei keine globale Registrierung definiert ist, kannst du replaces-base
in der Datei dependabot.yml
auf true
festlegen. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Hinweis: Für bereichsbezogene Abhängigkeiten (@my-org/my-dep
) erfordert Dependabot, dass die private Registrierung in der .npmrc
-Datei des Projekts definiert ist. Verwende @myscope:registry=https://private_registry_url
, um private Registrierungen für einzelne Bereiche zu definieren.
Yarn
Die privaten Registrierungen von Yarn Classic und Yarn Berry werden von Dependabot unterstützt, allerdings erfordert Dependabot für jedes der beiden Ökosystem eine andere Konfiguration, um nur auf private Registrierungen zuzugreifen.
Yarn Classic
Um das Yarn Classic-Ökosystem so zu konfigurieren, dass es nur auf private Registrierungen zugreift, kannst du die folgenden Konfigurationsmethoden verwenden.
Option 1:
Definiere die Konfiguration der privaten Registrierung in einer dependabot.yml
-Datei. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Hinweis: Lösche replaces-base: true
aus der Konfigurationsdatei.
Damit die private Registrierung als Abhängigkeitsquelle in der Datei yarn.lock
des Projekts aufgeführt wird, führe yarn install
auf einem Computer mit Zugriff auf die private Registrierung aus. Yarn sollte das Feld resolved
aktualisieren, um die URL der privaten Registrierung einzufügen.
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:
Wenn die private Registrierung in der Datei yarn.lock
nicht als Abhängigkeitsquelle aufgeführt ist, kannst du Yarn Classic gemäß den normalen Anweisungen des Paket-Managers einrichten:
-
Definiere die Konfiguration der privaten Registrierung in einer
dependabot.yml
-Datei. -
Füge die Registrierung in eine
.yarnrc
-Datei im Projektstammverzeichnis mit der Schlüsselregistrierung ein. Alternativ kannst duyarn config set registry <private registry URL>
ausführen.registry https://private_registry_url
Option 3
Wenn in einer .yarnrc
-Datei keine globale Registrierung definiert ist, kannst du replaces-base
in der Datei dependabot.yml
auf true
festlegen. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Hinweis: Für bereichsbezogene Abhängigkeiten (@my-org/my-dep
) erfordert Dependabot, dass die private Registrierung in der .npmrc
-Datei des Projekts definiert ist. Verwende @myscope:registry=https://private_registry_url
, um private Registrierungen für einzelne Bereiche zu definieren.
Yarn Berry
Um das Yarn Berry-Ökosystem so zu konfigurieren, dass es nur auf private Registrierungen zugreift, kannst du die folgenden Konfigurationsmethoden verwenden.
Option 1:
Definiere die Konfiguration der privaten Registrierung in einer dependabot.yml
-Datei. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Hinweis: Lösche replaces-base: true
aus der Konfigurationsdatei.
Damit die private Registrierung als Abhängigkeitsquelle in der Datei yarn.lock
des Projekts aufgeführt wird, führe yarn install
auf einem Computer mit Zugriff auf die private Registrierung aus. Yarn sollte das Feld resolved
aktualisieren, um die URL der privaten Registrierung einzufügen.
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:
Wenn die private Registrierung in der Datei yarn.lock
nicht als Abhängigkeitsquelle aufgeführt ist, kannst du Yarn Berry gemäß den normalen Anweisungen des Paket-Managers einrichten:
- Definiere die Konfiguration der privaten Registrierung in einer
dependabot.yml
-Datei. - Füge die Registrierung in eine
.yarnrc.yml
-Datei im Projektstamm mit dem SchlüsselnpmRegistryServer
ein. Alternativ kannst duyarn config set npmRegistryServer <private registry URL>
ausführen.npmRegistryServer: "https://private_registry_url"
Hinweis: Für bereichsbezogene Abhängigkeiten (@my-org/my-dep
) erfordert Dependabot, dass die private Registrierung in der .yarnrc
-Datei des Projekts definiert ist. Verwende "@myscope:registry" "https://private_registry_url"
, um private Registrierungen für einzelne Bereiche zu definieren.
Nuget
Damit das Nuget-Ökosystem nur auf private Registrierungen zugreifen kann, kannst du die Datei dependabot.yml
konfigurieren. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Für das NuGet-Ökosystem muss zusätzlich eine Datei nuget.config
in das Repository eingecheckt wird. Dabei muss entweder ein < clear />
-Tag im Abschnitt <packageSources>
oder ein nuget.org
-Schlüssel im Abschnitt disabledPackageSources
der Datei nuget.config
auf „true“ festgelegt werden.
Hier siehst du ein Beispiel für ein < clear />
-Tag im Abschnitt packageSources
von 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>
Hier ein Beispiel für das Hinzufügen eines auf „true“ festgelegten Schlüssels nuget.org
zum Abschnitt disabledPackageSources
der Datei 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>
Um Dependabot für den Zugriff auf private und öffentliche Feeds zu konfigurieren, sieh dir das folgende dependabot.yml
-Beispiel an, das den konfigurierten public
-Feed unter registries
enthält:
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 und Poetry sind die vier Paketmanager, die das Python-Ökosystem derzeit unterstützt.
pip
Um das Pip-Ökosystem so zu konfigurieren, dass es nur auf private Registrierungen zugreift, kannst du die folgenden Konfigurationsmethoden verwenden.
Option 1:
Definiere die Konfiguration der privaten Registrierung in einer dependabot.yml
-Datei. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Hinweis: Lösche replaces-base: true
aus der Konfigurationsdatei.
Füge die URL der privaten Registrierung zum Abschnitt [global]
der Datei pip.conf
hinzu, und checke die Datei in das Repository ein.
[global]
timeout = 60
index-url = https://private_registry_url
Option 2:
Lege replaces-base
in der Datei dependabot.yml
auf true
fest. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Pip-compile
Um das Pip-compile-Ökosystem so zu konfigurieren, dass es nur auf private Registrierungen zugreift, kannst du die folgenden Konfigurationsmethoden verwenden.
Option 1:
Lege replaces-base
in der Datei dependabot.yml
auf true
fest. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Option 2:
Definiere die Konfiguration der privaten Registrierung in einer dependabot.yml
-Datei. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Hinweis: Lösche replaces-base: true
aus der Konfigurationsdatei.
Füge die URL der privaten Registrierung zur Datei requirements.txt
hinzu, und checke die Datei in das Repository ein.
--index-url https://private_registry_url
Pipenv
Um Pipenv so zu konfigurieren, dass nur auf private Registrierungen zugegriffen wird, entferne replaces-base
aus der Datei dependabot.yml
. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Hinweis: Lösche replaces-base: true
aus der Konfigurationsdatei.
Füge die URL der privaten Registrierung zum Abschnitt [[source]]
der Datei Pipfile
hinzu, und checke die Datei in das Repository ein.
[[source]]
url = "https://private_registry_url"
verify_ssl = true
name = "pypi"
Poetry
Um Poetry so zu konfigurieren, dass nur auf private Registrierungen zugegriffen wird, lege replaces-base
in der Datei dependabot.yml
auf true
fest. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
Füge die URL der privaten Registrierung zum Abschnitt [[tool.poetry.source]]
der Datei pyproject.toml
hinzu, und checke die Datei in das Repository ein.
[[tool.poetry.source]]
name = "private"
url = "https://private_registry_url"
default = true