Remote-Repositories – Übersicht

Dieses Dokument bietet eine Übersicht über Remote-Repositories. Anweisungen zur wie Sie ein Remote-Repository erstellen, finden Sie unter Erstellen Sie Remote-Repositories.

Artifact Registry Kontingente und Limits gelten für Remote-Repositories.

Funktionsweise von Remote-Repositories

Remote-Repositories speichern Artefakte aus voreingestellten externen Quellen wie Docker Hub, Maven Central, dem Python Package Index (PyPI), Debian oder CentOS sowie Benutzerdefinierte Quellen für unterstützte Formate Eine Fernbedienung Das Repository fungiert als Proxy für die externe Quelle, sodass Sie mehr Kontrolle haben. Ihre externen Abhängigkeiten. Wenn Sie zum ersten Mal eine Version einer Paket, Artifact Registry lädt das Paket herunter und speichert es im Remote-Repository. Wenn Sie das nächste Mal dieselbe Paketversion anfordern, stellt Artifact Registry die im Cache gespeicherte Kopie bereit.

Wenn Sie ein Artefakt von einer nicht vorhandenen Upstream-Quelle anfordern, oder nicht die von Ihnen angegebene Version enthält, schlägt die Anfrage fehl.

Die anderen Repository-Modi sind:

  • Standard: Der Standard-Repository-Modus. Sie laden oder veröffentlichen Artefakte wie private Pakete direkt in Standard-Repositories übertragen. Sie können zwar direkt aus einzelnen Standard-Repositories herunterladen, Der Zugriff auf Gruppen von Repositories mit einem virtuellen Repository Konfiguration des Tools.
  • Virtuell: Ein Repository, das als einzelner Zugriff dient für mehrere Upstream-Repositories, einschließlich Remote- und Standard-Repositories Repositories.

Upstream-Authentifizierung

Unterstützung von Remote-Repositories von Artifact Registry Basisauthentifizierung auf die Voreinstellung zurückgesetzt und benutzerdefinierte Upstream-Quellen für unterstützte Formate. Weitere Informationen zu Informationen zur Authentifizierung bei Upstream-Quellen des Remote-Repositorys finden Sie unter Konfigurieren Sie die Authentifizierung bei Remote-Repository-Upstreams.

Anwendungsfälle und Vorteile

Schnellerer, zuverlässigerer Zugriff auf Artefakte
Im Cache gespeicherte Kopien Ihrer öffentlichen Abhängigkeiten in Artifact Registry speichern reduziert die Latenz, wenn andere Google Cloud-Dienste Images abrufen. Im Cache gespeicherte Artefakte sind auch weiterhin verfügbar, wenn das externe öffentliche Repository ist aufgrund eines Ausfalls oder eines anderen Problems offline.
Sicherere Abhängigkeitsauflösung

Remote-Repositories zusammen mit virtuellen Repositories verwenden, um Risiken zu mindern die mit öffentlichen Abhängigkeiten verbunden sind. Einige Tools bieten keine Möglichkeit, Suchreihenfolge steuern, wenn eine Mischung aus privaten und öffentlichen Repositories die im Client konfiguriert sind. Diese Art der Konfiguration ist anfällig für Abhängigkeitsverwirrung, bei der jemand eine neue Version eines in ein öffentliches Repository übertragen, um Clients die schlechte Version haben.

Anstatt Clients direkt für die Suche in mehreren Repositories zu konfigurieren, kann virtuelle Repositories konfigurieren, um Ihre privaten Repositories zu priorisieren über Remote-Repositories.

Wenn sich Artifact Registry in einem VPC Service Controls-Dienstperimeter befindet, Artifact Registry verweigert den Zugriff auf Upstream-Quellen außerhalb des Perimeters ist standardmäßig aktiviert. Zugriff auf Remote-Repositories an einem bestimmten Standort zulassen konfigurierte externe Quellen außerhalb des Perimeters, siehe Anleitung für die VPC Service Controls-Konfiguration.

Weitere Best Practices für das Abhängigkeitsmanagement finden Sie unter Abhängigkeitsverwaltung:

Aktualisierungen von Paketindexen und Metadaten

Änderbare Dateien wie Paketindexe und Metadaten werden aktualisiert aus der vorgelagerten Quelle, wenn sie älter als das Standardalter sind. Standardeinstellungen für bestimmte Dateitypen finden Sie in der folgenden Tabelle:

Format Dateityp Standardalter für Aktualisierung
Maven maven-metadata.xml 5 Minuten
archetype-catalog.xml 1 Stunde
Npm Manifestdateien 5 Minuten
Python Indexdateien 1 Stunde
Docker Cache der Tags auflisten/abrufen 1 Stunde
Apt./Yum (Vorschau) Indexdateien 2 Minuten
Paketdateien 72 Stunden

Unterstützte Formate

In den folgenden Abschnitten finden Sie Informationen zu den Formaten, die für voreingestellte und benutzerdefinierte Formate verfügbar sind. Remote-Repositorys.

Voreingestellte Upstreams

Sie können Remote-Repositories für die folgenden Repository-Formate und entsprechende voreingestellte Upstream-Quellen:

Format Pakettypen Upstream-URL Name der Upstream-Voreinstellung
Docker Öffentlich oder privat https://Registry-1.docker.io DOCKER-HUB
Maven Öffentlich oder privat https://repo.maven.apache.org/maven2 MAVEN-CENTRAL
npm Öffentlich oder privat https://registry.npmjs.org NPMJS
Python Öffentlich https://pypi.io PYPI
Betriebssystempakete (Vorabversion) Öffentlich Siehe Upstreams, die von Betriebssystempaketen unterstützt werden Siehe Upstreams, die von Betriebssystempaketen unterstützt werden

Voreingestellte Upstreams für Betriebssystempakete

Sie können ein Remote-Repository für Betriebssystempakete erstellen, indem Sie eine Repository-Basis auswählen und den Rest der URL an das jeweilige Repository anpassen. Die folgende Repository-Basen werden unterstützt:

Apt.

Repository URL-Präfix Repository-Basisname
Debian http://deb.debian.org DEBIAN
Ubuntu LTS oder Pro http://archive.ubuntu.com UBUNTU

Lecker

Repository URL-Präfix Repository-Basis Name
CentOS http://mirror.centos.org CENTOS
http://debuginfo.centos.org CENTOS_DEBUG
https://vault.centos.org CENTOS_VAULT
https://mirror.stream.centos.org CENTOS_STREAM
Max http://dl.rockylinux.org ROCKY
Fedora Extra-Pakete für Enterprise Linux (EPEL) https://dl.fedoraproject.org/pub/epel EPEL

Benutzerdefinierte Upstreams

Sie können Remote-Repositories für benutzerdefinierte Upstream-Quellen in der folgenden Formaten:

  • Docker
  • npm
  • Maven
  • Python

In der folgenden, nicht vollständigen Tabelle sind einige gängige Upstream-URIs aufgeführt.

Format Upstream-URI Name der Registry
Docker https://public.ecr.aws Öffentliche Galerie von AWS ECR
Docker https://registry.k8s.io Kubernetes-Container-Registry
Docker https://MY_ARTIFACTORY_INSTANCE.jfrog.io JFrosch
Docker https://MY_NEXUS_IP Nexus
npm https://npm.pkg.github.com GitHub-Npm-Registry
npm https://MY_ARTIFACTORY_INSTANCE.jfrog.io/artifactory/api/npm/MY_UPSTREAM_REPOSITORY JFrosch
npm https://MY_NEXUS_IP/repository/MY_UPSTREAM_REPOSITORY Nexus
Maven https://MY_ARTIFACTORY_INSTANCE.jfrog.io/artifactory/MY_UPSTREAM_REPOSITORY JFrosch
Maven https://MY_NEXUS_IP/repository/MY_UPSTREAM_REPOSITORY Nexus
Python https://MY_ARTIFACTORY_INSTANCE.jfrog.io/artifactory/api/pypi/MY_UPSTREAM_REPOSITORY JFrosch
Python https://MY_NEXUS_IP/repository/MY_UPSTREAM_REPOSITORY Nexus

Dabei gilt:

  • MY_ARTIFACTORY_INSTANCE ist der Name deines Jfrog Artifactory vorgelagerte Instanz.
  • MY_NEXUS_IP ist die IP-Adresse und der Port Ihres Nexus-Upstreams. Instanz.
  • MY_UPSTREAM_REPOSITORY ist der Name Ihres Upstream-Repositorys. die in den Beispielen für Nexus und Artifactory verwendet werden.

Beschränkungen

Zusätzlich zu den Kontingenten und Beschränkungen für Artifact Registry Repositories haben die folgenden Einschränkungen:

  • Bei Maven-Remote-Repositories kann die Versionsrichtlinie nicht auf einen Snapshot gesetzt werden oder Veröffentlichung.

Nächste Schritte