Informationen zum Konfigurieren von Dependabot, sodass nur auf private Registries zugegriffen wird
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 und Konfiguration der privaten Registrierung finden Sie unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot. Ausführliche Informationen zu verfügbaren Optionen sowie Empfehlungen und Ratschläge zum Konfigurieren privater Registrierungen findest du unter Leitfaden zum Konfigurieren privater Registrierungen für Dependabot.
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 Dependabot auf GitHub Actions-Runnern und Konfigurieren von Dependabot für selbst gehostete Läufer.
Sie können so konfigurieren Dependabot , dass nur auf private Register zugegriffen wird, indem Sie Anrufe an öffentliche Register entfernen. 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, können Sie replaces-base: true in der dependabot.yml-Datei festlegen. Weitere Informationen findest du unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
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"
# 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 Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
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 }}
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
FROM firewallregistrydep.azurecr.io/myreg/ubuntu:22.04
Option 2:
Legen Sie replaces-base: true in der Datei dependabot.yml fest. Weitere Informationen findest du unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot. 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 Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
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
Legen Sie replaces-base: true in der Datei dependabot.yml fest. Weitere Informationen findest du unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
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>
Node
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 Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
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
registry=https://private_registry_url
Option 2:
Wenn in einer .npmrc-Datei keine globale Registrierung definiert ist, können Sie replaces-base: true in der dependabot.yml-Datei festlegen. Weitere Informationen findest du unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
Hinweis
Für bereichsgebundene Abhängigkeiten (@my-org/my-dep) erfordert Dependabot, dass die private Registry in der .npmrc-Datei des Projekts definiert ist. Verwende @myscope:registry=https://private_registry_url, um private Registrierungen für einzelne Bereiche zu definieren.
Garn
Yarn Classic und Yarn Berry private Registrys werden beide von Dependabot unterstützt, aber Dependabot erfordert für jedes Ökosystem eine andere Konfiguration, um ausschließlich auf private Registrys 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 Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
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"
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.YAML registry https://private_registry_url
registry https://private_registry_url
Option 3
Falls in einer .yarnrc -Datei keine globale Registrierung definiert ist, können Sie replaces-base: true in der dependabot.yml-Datei festlegen. Weitere Informationen findest du unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
Hinweis
Für bereichsbezogene Abhängigkeiten (@my-org/my-dep) Dependabot muss die private Registrierung in der Datei des .npmrc Projekts definiert werden. 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 Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
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"
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üsselnpmRegistryServerein. Alternativ kannst duyarn config set npmRegistryServer <private registry URL>ausführen.npmRegistryServer: "https://private_registry_url"
Hinweis
Für bereichsspezifische Abhängigkeiten (@my-org/my-dep) setzt Dependabot voraus, dass die private Registry in der Datei .yarnrc 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 Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
Für das NuGet-Ökosystem muss zusätzlich eine Datei nuget.config in das Repository eingecheckt werden, wobei entweder ein < clear />-Tag im Abschnitt <packageSources> oder ein nuget.org-Schlüssel im Abschnitt disabledPackageSources der Datei nuget.config auf „true“ gesetzt sein muss.
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, sehen Sie sich 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
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 Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
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
[global]
timeout = 60
index-url = https://private_registry_url
Option 2:
Legen Sie replaces-base: true in der Datei dependabot.yml fest. Weitere Informationen findest du unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
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
Legen Sie replaces-base: true in der Datei dependabot.yml fest. Weitere Informationen findest du unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
Option 2:
Definiere die Konfiguration der privaten Registrierung in einer dependabot.yml-Datei. Weitere Informationen findest du unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
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
--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 Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
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"
[[source]]
url = "https://private_registry_url"
verify_ssl = true
name = "pypi"
Poesie
Um Poetry so zu konfigurieren, dass nur auf private Registrierungen zugegriffen wird, legen Sie replaces-base: true in der dependabot.yml-Datei fest. Weitere Informationen findest du unter Konfigurieren des Zugriffs auf private Registrierungen für Dependabot.
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
[[tool.poetry.source]]
name = "private"
url = "https://private_registry_url"
default = true