Auf dieser Seite wird beschrieben, wie Sie Artifact Registry-Remote-Repositories erstellen.
Remote-Repositories speichern Artefakte aus voreingestellten externen Quellen wie Docker Hub, Maven Central, der Python Package Index (PyPI), Debian oder CentOS als sowie benutzerdefinierte Quellen für unterstützte Formate. A Remote-Repository agiert als Proxy für die externe Quelle, sodass Sie über mehr Kontrolle über Ihre externen Abhängigkeiten. Wenn Sie zum ersten Mal eine Version eines Pakets, 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.
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.
Weitere Informationen zur Funktionsweise von Remote-Repositories finden Sie in der Remote-Repository – Übersicht
Hinweise
- Artifact Registry aktivieren einschließlich der Aktivierung der Artifact Registry API und der Installation der Google Cloud CLI.
- Optional: Konfigurieren Sie Standardeinstellungen für die gcloud CLI-Befehle.
- Wenn Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs) benötigen, Verschlüsseln Sie Repository-Inhalte, erstellen und aktivieren Sie einen Schlüssel in Cloud KMS für das Repository.
Wenn Sie sich bei einem Upstream-Repository authentifizieren möchten, aktivieren Sie die Methode Secret Manager API
gcloud services enable secretmanager.googleapis.com \ --project=PROJECT_ID
Wenn sich Artifact Registry in einem VPC Service Controls-Dienstperimeter befindet, Aktivieren Sie die Access Context Manager API, falls sie noch nicht aktiviert ist.
gcloud services enable accesscontextmanager.googleapis.com \ --project=PROJECT_ID
Erforderliche Rollen
Um die Berechtigungen zu erhalten, die Sie zum Verwalten von Repositories benötigen, bitten Sie Ihren Administrator, Ihnen folgenden IAM-Rollen:
-
Erstellen Sie Remote-Repositories und gewähren Sie Zugriff auf einzelne Repositories:
Artifact Registry-Administrator (
roles/artifactregistry.admin
) für das Projekt -
Speichern Sie Ihre Upstream-Repository-Anmeldedaten in einer Secret-Version:
Secret Manager-Administrator (
roles/secretmanager.admin
) für das Projekt -
Gewähren Sie Zugriff auf Upstream-Quellen außerhalb eines VPC Service Controls-Dienstperimeters:
Access Context Manager-Bearbeiter (
roles/accesscontextmanager.policyEditor
) für das Projekt, den Ordner oder die Organisation, auf das bzw. die die Zugriffsrichtlinie angewendet wird
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Remote-Repository erstellen
Wenn Sie ein Remote-Repository erstellen, müssen Sie die folgenden Einstellungen konfigurieren: Dieser kann nach dem Erstellen des Repositorys nicht mehr geändert werden:
- Artefakt-Format.
- Der Repository-Modus wurde auf „Remote“ festgelegt.
- Remote-Repository-Voreinstellung oder benutzerdefinierte Upstream-Quelle.
- Speicherort des Repositorys.
- Verschlüsselung mit Schlüsseln, die Google gehören und von Google verwaltet werden, oder vom Kunden verwaltete Verschlüsselungsschlüssel Artifact Registry verwendet Standardmäßig gehören Google-eigene und von Google verwaltete Verschlüsselungsschlüssel.
Artifact Registry erzwingt Einschränkungen für Organisationsrichtlinien die einen CMEK zum Verschlüsseln von Ressourcen erfordern, oder Schlüssel können für den CMEK-Schutz verwendet werden.
Remote-Repository mit der Google Cloud Console erstellen
Öffnen Sie in der Cloud Console die Seite Repositories.
Klicken Sie auf Repository erstellen.
Geben Sie den Repository-Namen an. Repository-Namen können für jeden Repository-Speicherort in einem Projekt nur einmal vorkommen.
Wählen Sie im Abschnitt Format das Repository-Format aus.
Wählen Sie im Abschnitt Repository-Modus die Option Remote aus.
Wählen Sie im Abschnitt Remote-Repository-Quelle entweder die voreingestellten Upstream oder Benutzerdefiniert, wenn Sie eine benutzerdefinierte URL für den Upstream.
Optional. Wenn Sie ein benutzerdefiniertes Upstream verwenden, geben Sie im benutzerdefinierten Repository die benutzerdefinierte Repository-URL ein. Die URL kann nach dem wird das Repository erstellt.
Wählen Sie im Remote-Repository-Authentifizierungsmodus eine der folgenden Optionen aus:
- Authenticated (Authentifiziert): Geben Sie Ihren Nutzernamen und Ihr Secret für die Authentifizierung ein. in Ihr vorgelagertes Repository.
- Nicht authentifiziert: Die Authentifizierung beim Upstream-Repository wird übersprungen.
Optional. Wenn Sie Authentifiziert ausgewählt haben, geben Sie Folgendes ein:
- Geben Sie im Feld Nutzername Ihren Nutzernamen für den Upstream ein. zu erstellen.
- Geben Sie im Feld Secret die Secret-Version ein, in der Sie Ihr Passwort für das Upstream-Repository.
Sie können diese Werte bearbeiten, nachdem Sie das Repository erstellt haben. Weitere Informationen Informationen zur Authentifizierung bei Remote-Repository-Upstreams finden Sie unter Konfigurieren Sie die Authentifizierung bei Remote-Repository-Upstreams.
Wählen Sie im Abschnitt Standorttyp den Speicherort für das Repository aus:
Wählen Sie als Speicherort „Region“ oder „Mehrere Regionen“ aus. Die Liste der Speicherorte ändert sich entsprechend Ihrer Auswahl.
Wählen Sie in der Liste Region oder Mehrere Regionen einen Speicherort aus.
Informationen zu Standorttypen und unterstützten Standorten finden Sie unter Speicherorte des Repositorys
Fügen Sie eine Beschreibung für das Repository hinzu. Beschreibungen helfen dabei, den Zweck des Repositorys und die darin enthaltenen Artefakte zu ermitteln.
Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt.
Wenn Sie Ihre Daten mithilfe von Labels organisieren möchten, auf Add Label (Label hinzufügen) klicken und das Schlüssel/Wert-Paar . Sie können Labels hinzufügen, bearbeiten oder entfernen, nachdem Sie zu erstellen.
Wählen Sie im Abschnitt Verschlüsselung den Verschlüsselungsmechanismus für das Repository aus.
- Von Google verwalteter Schlüssel: Repository-Inhalte verschlüsseln mit einer Google-eigener und von Google verwalteter Schlüssel.
- Vom Kunden verwalteter Schlüssel: Verschlüsselung des Repository-Inhalts mit einem Schlüssel, den Sie über Cloud Key Management Service steuern. Eine grundlegende Einrichtungsanleitung finden Sie unter Vom Kunden verwalteten Schlüssel für Repositories einrichten.
Wenn Sie Bereinigungsrichtlinien verwenden möchten, um nicht verwendete Artefakte zu löschen, klicken Sie in der Abschnitt Bereinigungsrichtlinien:
- Wählen Sie Probelauf aus, um die Richtlinie zu testen, bevor Sie sie anwenden.
- Klicken Sie auf Richtlinie hinzufügen, um Ihrem Repository eine Keep- oder Löschrichtlinie hinzuzufügen.
- Geben Sie Ihrer Bereinigungsrichtlinie im Feld Name einen aussagekräftigen Namen.
Wählen Sie im Abschnitt Richtlinientyp eine der folgenden Optionen aus:
- Bedingtes Löschen: Löscht Artefakte basierend auf den von Ihnen festgelegten Bedingungen definieren.
- Bedingte Beibehaltung: Behält Artefakte basierend auf von Ihnen definierten Bedingungen bei.
Neueste Versionen beibehalten: Behält eine festgelegte Anzahl von neuesten Versionen bei. Versionen pro Paket.
Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Konfigurieren Sie Bereinigungsrichtlinien.
Klicken Sie auf Erstellen.
Artifact Registry erstellt das Repository und fügt es der Liste der Repositories.
Nachdem Sie das Repository erstellt haben:
- Gewähren Sie Zugriff auf das Repository.
- Konfigurieren Sie Docker, Paketmanager und andere Drittanbieter-Clients, um zur Authentifizierung bei Repositories.
- Remote-Repositories von Artifact Registry für die Authentifizierung konfigurieren
über ihre vorgelagerten Quellen.
- Container-Images: Konfigurieren Sie die Remote-Repository-Authentifizierung bei Docker Hub.
- Sprachpakete:
- Benutzerdefinierte benutzerdefinierte Upstreams: Konfigurieren Sie die Authentifizierung für Remote-Repository-Upstreams.
Remote-Repository mit der gcloud CLI erstellen
Führen Sie den Befehl für das entsprechende Repository-Format aus, um ein Repository zu erstellen:
Docker
gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
--project=PROJECT_ID \
--repository-format=docker \
--location=LOCATION \
--description="DESCRIPTION" \
--mode=remote-repository \
--remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
--remote-username=USERNAME \
--remote-password-secret-version=SECRET_VERSION \
--remote-docker-repo=UPSTREAM
Ersetzen Sie Folgendes:
REMOTE-REPOSITORY-NAME
durch den Namen des Repositorys. Für Repository-Namen müssen eindeutig sein.PROJECT_ID
durch die Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.LOCATION
durch das regionale oder multiregionale Element location für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. So rufen Sie eine Liste auf: der unterstützten Standorte führen Sie den Befehlgcloud artifacts locations list
aus.DESCRIPTION
durch eine optionale Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht dazu gehören verschlüsselt.REMOTE-REPOSITORY-DESCRIPTION
mit einer Beschreibung für Die Konfiguration des externen Repositorys für dieses Remote-Repository.USERNAME
optional, wenn Sie eine Authentifizierung verwenden, mit Ihren Nutzernamen für die Authentifizierung beim Upstream-Repository.SECRET_VERSION
(optional, wenn Sie eine Authentifizierung verwenden) wobei die Secret-Version das Upstream-Repository-Passwort enthält.UPSTREAM
durch den Namen der Voreinstellung oder die benutzerdefinierte URL der Upstream-Repository. Informationen zu verfügbaren voreingestellten Upstreams und unterstützten benutzerdefinierten Upstreams finden Sie unter Unterstützte Formate.
Mit dem folgenden Befehl wird beispielsweise ein Remote-Repository mit dem Namen
my-repo
in der Region us-east1
im Google Cloud-Projekt
my-project
und kann sich mit der Methode
Nutzername my-username
und Secret-Version
projects/my-project/secrets/my-secret/versions/1
gcloud artifacts repositories create my-repo \
--project=my-project \
--repository-format=docker \
--location=us-east1 \
--description="Remote Docker repository" \
--mode=remote-repository \
--remote-repo-config-desc="Docker Hub" \
--remote-username=my-username \
--remote-password-secret-version=projects/my-project/secrets/my-secret/versions/1 \
--remote-docker-repo=DOCKER-HUB
Weitere Informationen zur Authentifizierung bei vorgelagerten Repositories von Docker Hub Siehe Remote-Repository-Authentifizierung bei Docker Hub konfigurieren
Maven
gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
--project=PROJECT_ID \
--repository-format=maven \
--location=LOCATION \
--description="DESCRIPTION" \
--mode=remote-repository \
--remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
--remote-username=USERNAME \
--remote-password-secret-version=SECRET_VERSION \
--remote-mvn-repo=UPSTREAM
Ersetzen Sie Folgendes:
REMOTE-REPOSITORY-NAME
durch den Namen des Repositorys. Für Repository-Namen müssen eindeutig sein.PROJECT_ID
durch die Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.LOCATION
durch das regionale oder multiregionale Element location für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. So rufen Sie eine Liste auf: der unterstützten Standorte führen Sie den Befehlgcloud artifacts locations list
aus.DESCRIPTION
durch eine optionale Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht dazu gehören verschlüsselt.REMOTE-REPOSITORY-DESCRIPTION
mit einer Beschreibung für Die Konfiguration des externen Repositorys für dieses Remote-Repository.USERNAME
optional, wenn Sie eine Authentifizierung verwenden, mit Ihren Nutzernamen für die Authentifizierung beim Upstream-Repository.SECRET_VERSION
(optional, wenn Sie eine Authentifizierung verwenden) wobei die Secret-Version das Upstream-Repository-Passwort enthält.UPSTREAM
durch den Namen der Voreinstellung oder die benutzerdefinierte URL der Upstream-Repository. Informationen zu verfügbaren voreingestellten Upstreams und unterstützten benutzerdefinierten Upstreams finden Sie unter Unterstützte Formate.
Mit dem folgenden Befehl wird beispielsweise ein Remote-Repository mit dem Namen
my-repo
in der Region us-east1
im Google Cloud-Projekt
my-project
und kann sich mit der Methode
Nutzername my-username
und Secret-Version
projects/my-project/secrets/my-secret/versions/1
gcloud artifacts repositories create my-repo \
--project=my-project \
--repository-format=maven \
--location=us-east1 \
--description="Remote Maven repository" \
--mode=remote-repository \
--remote-repo-config-desc="Maven Central" \
--remote-username=my-username \
--remote-password-secret-version=projects/my-project/secrets/my-secret/versions/1 \
--remote-mvn-repo=MAVEN-CENTRAL
npm
gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
--project=PROJECT_ID \
--repository-format=npm \
--location=LOCATION \
--description="DESCRIPTION" \
--mode=remote-repository \
--remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
--remote-username=USERNAME \
--remote-password-secret-version=SECRET_VERSION \
--remote-npm-repo=UPSTREAM
Ersetzen Sie Folgendes:
REMOTE-REPOSITORY-NAME
durch den Namen des Repositorys. Für Repository-Namen müssen eindeutig sein.PROJECT_ID
durch die Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.LOCATION
durch das regionale oder multiregionale Element location für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. So rufen Sie eine Liste auf: der unterstützten Standorte führen Sie den Befehlgcloud artifacts locations list
aus.DESCRIPTION
durch eine optionale Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht dazu gehören verschlüsselt.REMOTE-REPOSITORY-DESCRIPTION
mit einer Beschreibung für Die Konfiguration des externen Repositorys für dieses Remote-Repository.USERNAME
optional, wenn Sie eine Authentifizierung verwenden, mit Ihren Nutzernamen für die Authentifizierung beim Upstream-Repository.SECRET_VERSION
(optional, wenn Sie eine Authentifizierung verwenden) wobei die Secret-Version das Upstream-Repository-Passwort enthält.UPSTREAM
durch den Namen der Voreinstellung oder die benutzerdefinierte URL der Upstream-Repository. Informationen zu verfügbaren voreingestellten Upstreams und unterstützten benutzerdefinierten Upstreams finden Sie unter Unterstützte Formate.
Mit dem folgenden Befehl wird beispielsweise ein Remote-Repository mit dem Namen
my-repo
in der Region us-east1
im Google Cloud-Projekt
my-project
und kann sich mit der Methode
Nutzername my-username
und Secret-Version
projects/my-project/secrets/my-secret/versions/1
gcloud artifacts repositories create my-repo \
--project=my-project \
--repository-format=npm \
--location=us-east1 \
--description="Remote npm repository" \
--mode=remote-repository \
--remote-repo-config-desc="Public npm registry" \
--remote-username=my-username \
--remote-password-secret-version=projects/my-project/secrets/my-secret/versions/1 \
--remote-npm-repo=NPMJS
Python
gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
--project=PROJECT_ID \
--repository-format=python \
--location=LOCATION \
--description="DESCRIPTION" \
--mode=remote-repository \
--remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
--remote-username=USERNAME \
--remote-password-secret-version=SECRET_VERSION \
--remote-python-repo=UPSTREAM
Ersetzen Sie Folgendes:
REMOTE-REPOSITORY-NAME
durch den Namen des Repositorys. Für Repository-Namen müssen eindeutig sein.PROJECT_ID
durch die Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.LOCATION
durch das regionale oder multiregionale Element location für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. So rufen Sie eine Liste auf: der unterstützten Standorte führen Sie den Befehlgcloud artifacts locations list
aus.DESCRIPTION
durch eine optionale Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht dazu gehören verschlüsselt.REMOTE-REPOSITORY-DESCRIPTION
mit einer Beschreibung für Die Konfiguration des externen Repositorys für dieses Remote-Repository.USERNAME
optional, wenn Sie eine Authentifizierung verwenden, mit Ihren Nutzernamen für die Authentifizierung beim Upstream-Repository.SECRET_VERSION
(optional, wenn Sie eine Authentifizierung verwenden) wobei die Secret-Version das Upstream-Repository-Passwort enthält.UPSTREAM
durch den Namen der Voreinstellung oder die benutzerdefinierte URL der Upstream-Repository. Informationen zu verfügbaren voreingestellten Upstreams und unterstützten benutzerdefinierten Upstreams finden Sie unter Unterstützte Formate.
Mit dem folgenden Befehl wird beispielsweise ein Remote-Repository mit dem Namen
my-repo
in der Region us-east1
im Google Cloud-Projekt
my-project
und kann sich mit der Methode
Nutzername my-username
und Secret-Version
projects/my-project/secrets/my-secret/versions/1
gcloud artifacts repositories create my-repo \
--project=my-project \
--repository-format=python \
--location=us-east1 \
--description="Remote Python repository" \
--mode=remote-repository \
--remote-repo-config-desc="PyPI" \
--remote-username=my-username \
--remote-password-secret-version=projects/my-project/secrets/my-secret/versions/1 \
--remote-python-repo=PYPI
Apt. (Vorschau)
gcloud artifacts repositories create REMOTE_REPOSITORY_NAME \
--project=PROJECT_ID \
--repository-format=apt \
--location=LOCATION \
--description="DESCRIPTION" \
--mode=remote-repository \
--remote-repo-config-desc="REMOTE_REPOSITORY_DESCRIPTION" \
--remote-apt-repo=APT_REPOSITORY_BASE \
--remote-apt-repo-path="APT_REPOSITORY_PATH"
Ersetzen Sie Folgendes:
REMOTE_REPOSITORY_NAME
durch den Namen des Repositorys. Für Repository-Namen müssen eindeutig sein.PROJECT_ID
durch die Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.LOCATION
durch das regionale oder multiregionale Element location für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. So rufen Sie eine Liste auf: der unterstützten Standorte führen Sie den Befehlgcloud artifacts locations list
aus.DESCRIPTION
durch eine optionale Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt.REMOTE_REPOSITORY_DESCRIPTION
mit einer optionalen Beschreibung für Die Konfiguration des externen Repositorys für dieses Remote-Repository.APT_REPOSITORY_BASE
durch eines der unterstützten Repositorys Basisnamen, die in den Von Betriebssystempaket unterstützte Upstreams für Apt-Remote-Verbindungen Repositories.APT_REPOSITORY_PATH
durch den Rest der URL des Upstream-Repository, das Sie danach in Ihrem Remote-Repository zwischenspeichern möchten der Repository-Basis.
Mit dem folgenden Befehl wird beispielsweise ein Remote-Repository mit dem Namen
my-repo
, um das Debian-Buster-Repository in der Region us-east1
im Cache zu speichern
das Google Cloud-Projekt my-project
. Die vollständige URL des Upstreams
Repository http://deb.debian.org/debian/dists/buster
.
gcloud artifacts repositories create my-repo \
--project=my-project \
--repository-format=apt \
--location=us-east1 \
--description="Apt remote repository" \
--mode=remote-repository \
--remote-repo-config-desc="Debian buster distribution" \
--remote-apt-repo=DEBIAN \
--remote-apt-repo-path="debian/dists/buster"
Yum (Vorschau)
gcloud artifacts repositories create REMOTE_REPOSITORY_NAME \
--project=PROJECT_ID \
--repository-format=yum \
--location=LOCATION \
--description="DESCRIPTION" \
--mode=remote-repository \
--remote-repo-config-desc="REMOTE_REPOSITORY_DESCRIPTION" \
--remote-yum-repo=YUM_REPOSITORY_BASE \
--remote-yum-repo-path="YUM_REPOSITORY_PATH"
Ersetzen Sie Folgendes:
REMOTE_REPOSITORY_NAME
durch den Namen des Repositorys. Für Repository-Namen müssen eindeutig sein.PROJECT_ID
durch die Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.LOCATION
durch das regionale oder multiregionale Element location für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. So rufen Sie eine Liste auf: der unterstützten Standorte führen Sie den Befehlgcloud artifacts locations list
aus.DESCRIPTION
durch eine optionale Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt.REMOTE_REPOSITORY_DESCRIPTION
mit einer optionalen Beschreibung für Die Konfiguration des externen Repositorys für dieses Remote-Repository.YUM_REPOSITORY_BASE
durch eines der unterstützten Repositorys Basisnamen, die in den Von Betriebssystempaket unterstützte Upstreams für Yum-Remote-Verbindung Repositories.YUM_REPOSITORY_PATH
durch den Rest der URL des Upstream-Repository, das Sie danach in Ihrem Remote-Repository zwischenspeichern möchten der Repository-Basis.
Mit dem folgenden Befehl wird beispielsweise ein Remote-Repository für Yum-Pakete erstellt.
namens my-repo
in der Region us-east1
im Google Cloud-Projekt
my-project
für das Upstream-Repository centos/8-stream/BaseOs/x86_64/os
.
gcloud artifacts repositories create my-repo \
--project=my-project \
--repository-format=yum \
--location=us-east1 \
--description="Yum remote repository" \
--mode=remote-repository \
--remote-repo-config-desc="CentOS 8 x86" \
--remote-yum-repo=CENTOS \
--remote-yum-repo-path="centos/8-stream/BaseOs/x86_64/os"
Ihr Repository wird in Artifact Registry erstellt. Führen Sie den folgenden Befehl aus, um eine Beschreibung des Repositorys:
gcloud artifacts repositories describe REMOTE_REPOSITORY_NAME \
--location=LOCATION
Nachdem Sie das Repository erstellt haben, gehen Sie so vor:
- Gewähren Sie Zugriff auf das Repository.
- Konfigurieren Sie Bereinigungsrichtlinien, um nicht verwendete Artefakte zu löschen.
- Konfigurieren Sie Docker, Paketmanager und andere Drittanbieter-Clients, um zur Authentifizierung bei Repositories.
- Remote-Repositories von Artifact Registry für die Authentifizierung konfigurieren
über ihre vorgelagerten Quellen.
- Container-Images: Konfigurieren Sie die Remote-Repository-Authentifizierung bei Docker Hub.
- Sprachpakete:
- Benutzerdefinierte benutzerdefinierte Upstreams: Konfigurieren Sie die Authentifizierung für Remote-Repository-Upstreams.
Remote-Repository mit Terraform erstellen
Verwenden Sie die Ressource google_artifact_registry_repository
um Repositories zu erstellen.
terraform-provider-google
-Version
5.0.0
oder höher ist erforderlich.
Wenn Sie Terraform für Google Cloud zum ersten Mal verwenden, lesen Sie die Seite Erste Schritte – Google Cloud auf der Website von HashiCorp.
Im folgenden Beispiel werden der Anbieter und ein Remote-Repository mit der Methode
Terraform-Ressourcenname my-repo
.
Docker
provider "google" {
project = "PROJECT-ID"
}
resource "google_artifact_registry_repository" "my-repo" {
location = "LOCATION"
repository_id = "REPOSITORY_ID"
description = "DESCRIPTION"
format = "docker"
kms_key_name = "KEY"
mode = "REMOTE_REPOSITORY"
remote_repository_config {
description = "CONFIG_DESCRIPTION"
docker_repository {
public_repository = "DOCKER_HUB"
}
}
cleanup_policy_dry_run = DRY_RUN_STATUS
cleanup_policies {
id = "POLICY_NAME"
action = "DELETE"
condition {
tag_state = "TAG_STATE"
tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
older_than = "TIME_SINCE_UPLOAD"
}
}
cleanup_policies {
id = "POLICY_NAME"
action = "KEEP"
condition {
tag_state = "TAG_STATE"
tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
}
}
cleanup_policies {
id = "POLICY_NAME"
action = "KEEP"
most_recent_versions {
package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
keep_count = KEEP_COUNT
}
}
}
Dabei gilt:
PROJECT-ID
ist die Google Cloud-Projekt-ID.LOCATION
ist der Speicherort des Repositorys.REPOSITORY_ID
ist die Repository-ID.DESCRIPTION
ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt.KEY
ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie Vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) für die Verschlüsselung. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.CONFIG_DESCRIPTION
ist die optionale Beschreibung der Fernbedienung Quelle.DRY_RUN_STATUS
bestimmt, ob Bereinigungsrichtlinien gelöscht werden oder nur protokollieren, welche Artefakte gelöscht werden, Bereinigungsrichtlinien für das Repository. Überspringen, wenn Sie nichts hinzufügen möchten Bereinigungsrichtlinien für das Repository. *true
: Legt die Richtlinien für die Ausführung im Probelaufmodus fest. Es sind keine Artefakte im Probelaufmodus gelöscht. *false
: Die Bereinigungsrichtlinien werden angewendet. Artefakte werden gelöscht oder von den Richtlinien abhängig. Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Konfigurieren Sie Bereinigungsrichtlinien.POLICY_NAME
ist der Name der Bereinigungsrichtlinie.TAG_STATE
ist der Tag-Status, auf den die Richtlinie angewendet wird. Werte sindtagged
,untagged
undany
.any
gilt sowohl für getaggte als auch nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, die mit Tags Artefakte können nicht gelöscht werden.TAG_PREFIX
,TAG_PREFIX_N
sind Tag-Präfixe für auf die die Richtlinie angewendet wird.PKG_PREFIX
undPKG_PREFIX_N
sind Paketpräfixe auf das die Richtlinie angewendet werden soll.TIME_SINCE_UPLOAD
ist die Zeit, die seit einer Artefaktversion vergangen ist wurde in das Repository hochgeladen, angegeben als Dauer. Sie können angeben, Dauer von Sekunden, Minuten, Stunden oder Tagen durch Anfügen vons
,m
,h
, bzw.d
.KEEP_COUNT
ist die Anzahl der Versionen pro Paket eines Artefakts, in Ihrem Repository aufbewahren.
Maven
Wenn Sie keine Versionsrichtlinie angeben, ein Maven-Repository, das sowohl Snapshot- und Release-Versionen von Paketen.
provider "google" {
project = "PROJECT-ID"
}
resource "google_artifact_registry_repository" "my-repo" {
location = "LOCATION"
repository_id = "REPOSITORY_ID"
description = "DESCRIPTION"
format = "maven"
kms_key_name = "KEY"
mode = "REMOTE_REPOSITORY"
remote_repository_config {
description = "CONFIG_DESCRIPTION"
maven_repository {
public_repository = "MAVEN_CENTRAL"
}
}
cleanup_policy_dry_run = DRY_RUN_STATUS
cleanup_policies {
id = "POLICY_NAME"
action = "DELETE"
condition {
tag_state = "TAG_STATE"
tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
older_than = "TIME_SINCE_UPLOAD"
}
}
cleanup_policies {
id = "POLICY_NAME"
action = "KEEP"
condition {
tag_state = "TAG_STATE"
tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
}
}
cleanup_policies {
id = "POLICY_NAME"
action = "KEEP"
most_recent_versions {
package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
keep_count = KEEP_COUNT
}
}
}
Dabei gilt:
PROJECT-ID
ist die Google Cloud-Projekt-ID.LOCATION
ist der Speicherort des Repositorys.REPOSITORY_ID
ist die Repository-ID.DESCRIPTION
ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt.KEY
ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie Vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) für die Verschlüsselung. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.CONFIG_DESCRIPTION
ist die optionale Beschreibung der Fernbedienung Quelle.DRY_RUN_STATUS
bestimmt, ob Bereinigungsrichtlinien gelöscht werden oder nur protokollieren, welche Artefakte gelöscht werden, Bereinigungsrichtlinien für das Repository. Überspringen, wenn Sie nichts hinzufügen möchten Bereinigungsrichtlinien für das Repository. *true
: Legt die Richtlinien für die Ausführung im Probelaufmodus fest. Es sind keine Artefakte im Probelaufmodus gelöscht. *false
: Die Bereinigungsrichtlinien werden angewendet. Artefakte werden gelöscht oder von den Richtlinien abhängig. Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Konfigurieren Sie Bereinigungsrichtlinien.POLICY_NAME
ist der Name der Bereinigungsrichtlinie.TAG_STATE
ist der Tag-Status, auf den die Richtlinie angewendet wird. Werte sindtagged
,untagged
undany
.any
gilt sowohl für getaggte als auch nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, die mit Tags Artefakte können nicht gelöscht werden.TAG_PREFIX
,TAG_PREFIX_N
sind Tag-Präfixe für auf die die Richtlinie angewendet wird.PKG_PREFIX
undPKG_PREFIX_N
sind Paketpräfixe auf das die Richtlinie angewendet werden soll.TIME_SINCE_UPLOAD
ist die Zeit, die seit einer Artefaktversion vergangen ist wurde in das Repository hochgeladen, angegeben als Dauer. Sie können angeben, Dauer von Sekunden, Minuten, Stunden oder Tagen durch Anfügen vons
,m
,h
, bzw.d
.KEEP_COUNT
ist die Anzahl der Versionen pro Paket eines Artefakts, in Ihrem Repository aufbewahren.
Um Snapshot- und Release-Versionen in unterschiedlichen
Repositories, geben Sie eine Versionsrichtlinie für die
mit einem maven_config
-Block. Dieser Block unterstützt die
folgenden Einstellungen:
version_policy
legt die Versionsrichtlinie mit einem der folgenden Werte fest:VERSION_POLICY_UNSPECIFIED
: Snapshot- und Release-Pakete speichern Dieses ist die Standardeinstellung.- RELEASE: Nur Release-Pakete speichern.
- SNAPSHOT: Nur Snapshot-Pakete speichern.
allow_snapshot_overwrites
konfiguriert ein Repository mit einerSNAPSHOT
Versionsrichtlinie zum Akzeptieren nicht eindeutiger Snapshots, die vorhandene überschreiben Versionen im Repository.
Im folgenden Beispiel wird ein Maven-Repository mit einer Release-Version definiert .
provider "google" {
project = "my-project"
}
resource "google_artifact_registry_repository" "my-repo" {
provider = google-beta
location = "LOCATION"
repository_id = "my-repo"
description = "Maven repository"
format = "MAVEN"
mode = "REMOTE_REPOSITORY"
maven_config {
version_policy = "RELEASE"
}
}
npm
provider "google" {
project = "PROJECT-ID"
}
resource "google_artifact_registry_repository" "my-repo" {
location = "LOCATION"
repository_id = "REPOSITORY_ID"
description = "DESCRIPTION"
format = "npm"
kms_key_name = "KEY"
mode = "REMOTE_REPOSITORY"
remote_repository_config {
description = "CONFIG_DESCRIPTION"
npm_repository {
public_repository = "NPMJS"
}
}
cleanup_policy_dry_run = DRY_RUN_STATUS
cleanup_policies {
id = "POLICY_NAME"
action = "DELETE"
condition {
tag_state = "TAG_STATE"
tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
older_than = "TIME_SINCE_UPLOAD"
}
}
cleanup_policies {
id = "POLICY_NAME"
action = "KEEP"
condition {
tag_state = "TAG_STATE"
tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
}
}
cleanup_policies {
id = "POLICY_NAME"
action = "KEEP"
most_recent_versions {
package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
keep_count = KEEP_COUNT
}
}
}
Dabei gilt:
PROJECT-ID
ist die Google Cloud-Projekt-ID.LOCATION
ist der Speicherort des Repositorys.REPOSITORY_ID
ist die Repository-ID.DESCRIPTION
ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt.KEY
ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie Vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) für die Verschlüsselung. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.CONFIG_DESCRIPTION
ist die optionale Beschreibung der Fernbedienung Quelle.DRY_RUN_STATUS
bestimmt, ob Bereinigungsrichtlinien gelöscht werden oder nur protokollieren, welche Artefakte gelöscht werden, Bereinigungsrichtlinien für das Repository. Überspringen, wenn Sie nichts hinzufügen möchten Bereinigungsrichtlinien für das Repository. *true
: Legt die Richtlinien für die Ausführung im Probelaufmodus fest. Es sind keine Artefakte im Probelaufmodus gelöscht. *false
: Die Bereinigungsrichtlinien werden angewendet. Artefakte werden gelöscht oder von den Richtlinien abhängig. Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Konfigurieren Sie Bereinigungsrichtlinien.POLICY_NAME
ist der Name der Bereinigungsrichtlinie.TAG_STATE
ist der Tag-Status, auf den die Richtlinie angewendet wird. Werte sindtagged
,untagged
undany
.any
gilt sowohl für getaggte als auch nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, die mit Tags Artefakte können nicht gelöscht werden.TAG_PREFIX
,TAG_PREFIX_N
sind Tag-Präfixe für auf die die Richtlinie angewendet wird.PKG_PREFIX
undPKG_PREFIX_N
sind Paketpräfixe auf das die Richtlinie angewendet werden soll.TIME_SINCE_UPLOAD
ist die Zeit, die seit einer Artefaktversion vergangen ist wurde in das Repository hochgeladen, angegeben als Dauer. Sie können angeben, Dauer von Sekunden, Minuten, Stunden oder Tagen durch Anfügen vons
,m
,h
, bzw.d
.KEEP_COUNT
ist die Anzahl der Versionen pro Paket eines Artefakts, in Ihrem Repository aufbewahren.
Python
provider "google" {
project = "PROJECT-ID"
}
resource "google_artifact_registry_repository" "my-repo" {
location = "LOCATION"
repository_id = "REPOSITORY_ID"
description = "DESCRIPTION"
format = "python"
kms_key_name = "KEY"
mode = "REMOTE_REPOSITORY"
remote_repository_config {
description = "CONFIG_DESCRIPTION"
python_repository {
public_repository = "PYPI"
}
}
cleanup_policy_dry_run = DRY_RUN_STATUS
cleanup_policies {
id = "POLICY_NAME"
action = "DELETE"
condition {
tag_state = "TAG_STATE"
tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
older_than = "TIME_SINCE_UPLOAD"
}
}
cleanup_policies {
id = "POLICY_NAME"
action = "KEEP"
condition {
tag_state = "TAG_STATE"
tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
}
}
cleanup_policies {
id = "POLICY_NAME"
action = "KEEP"
most_recent_versions {
package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
keep_count = KEEP_COUNT
}
}
}
Dabei gilt:
PROJECT-ID
ist die Google Cloud-Projekt-ID.LOCATION
ist der Speicherort des Repositorys.REPOSITORY_ID
ist die Repository-ID.DESCRIPTION
ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt.KEY
ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie Vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) für die Verschlüsselung. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.CONFIG_DESCRIPTION
ist die optionale Beschreibung der Fernbedienung Quelle.DRY_RUN_STATUS
bestimmt, ob Bereinigungsrichtlinien gelöscht werden oder nur protokollieren, welche Artefakte gelöscht werden, Bereinigungsrichtlinien für das Repository. Überspringen, wenn Sie nichts hinzufügen möchten Bereinigungsrichtlinien für das Repository. *true
: Legt die Richtlinien für die Ausführung im Probelaufmodus fest. Es sind keine Artefakte im Probelaufmodus gelöscht. *false
: Die Bereinigungsrichtlinien werden angewendet. Artefakte werden gelöscht oder von den Richtlinien abhängig. Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Konfigurieren Sie Bereinigungsrichtlinien.POLICY_NAME
ist der Name der Bereinigungsrichtlinie.TAG_STATE
ist der Tag-Status, auf den die Richtlinie angewendet wird. Werte sindtagged
,untagged
undany
.any
gilt sowohl für getaggte als auch nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, die mit Tags Artefakte können nicht gelöscht werden.TAG_PREFIX
,TAG_PREFIX_N
sind Tag-Präfixe für auf die die Richtlinie angewendet wird.PKG_PREFIX
undPKG_PREFIX_N
sind Paketpräfixe auf das die Richtlinie angewendet werden soll.TIME_SINCE_UPLOAD
ist die Zeit, die seit einer Artefaktversion vergangen ist wurde in das Repository hochgeladen, angegeben als Dauer. Sie können angeben, Dauer von Sekunden, Minuten, Stunden oder Tagen durch Anfügen vons
,m
,h
, bzw.d
.KEEP_COUNT
ist die Anzahl der Versionen pro Paket eines Artefakts, in Ihrem Repository aufbewahren.
Apt. (Vorschau)
provider "google" {
project = "PROJECT_ID"
}
resource "google_artifact_registry_repository" "my-repo" {
location = "LOCATION"
repository_id = "REPOSITORY_ID"
description = "DESCRIPTION"
format = "APT"
mode = "REMOTE_REPOSITORY"
remote_repository_config {
description = "CONFIG_DESCRIPTION"
apt_repository {
public_repository {
repository_base = "REPOSITORY_BASE"
repository_path = "REPOSITORY_PATH"
}
}
}
}
Dabei gilt:
- PROJECT-ID ist die Google Cloud-Projekt-ID.
- LOCATION ist der Speicherort des Repositorys.
- REPOSITORY_ID ist die Repository-ID.
- DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt.
- CONFIG_DESCRIPTION ist die optionale Beschreibung der Fernbedienung. Quelle.
- REPOSITORY_BASE ist die voreingestellte öffentliche Repository-Basis für Apt.
Mögliche Werte sind
DEBIAN
undUBUNTU
. - REPOSITORY_PATH ist das spezifische Repository aus der Basis. Beispiel:
debian/dists/buster
.
Yum (Vorabversion)
provider "google" {
project = "PROJECT_ID"
}
resource "google_artifact_registry_repository" "my-repo" {
location = "LOCATION"
repository_id = "REPOSITORY_ID"
description = "DESCRIPTION"
format = "YUM"
mode = "REMOTE_REPOSITORY"
remote_repository_config {
description = "CONFIG_DESCRIPTION"
yum_repository {
public_repository {
repository_base = "REPOSITORY_BASE"
repository_path = "REPOSITORY_PATH"
}
}
}
}
Dabei gilt:
- PROJECT-ID ist die Google Cloud-Projekt-ID.
- LOCATION ist der Speicherort des Repositorys.
- REPOSITORY_ID ist die Repository-ID.
- DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt.
- CONFIG_DESCRIPTION ist die optionale Beschreibung der Fernbedienung. Quelle.
- REPOSITORY_BASE ist die voreingestellte öffentliche Repository-Basis für Yum.
Mögliche Werte sind
CENTOS
,CENTOS_DEBUG
,CENTOS_VAULT
,CENTOS_STREAM
,ROCKY
undEPEL
. - REPOSITORY_PATH ist das spezifische Repository aus der Basis. Beispiel:
"centos/8-stream/BaseOS/x86_64/os
.
Ihr Repository wird in Artifact Registry erstellt. Führen Sie den folgenden Befehl aus, um eine Beschreibung des Repositorys:
gcloud artifacts repositories describe REPOSITORY \
--location=LOCATION
Nachdem Sie das Repository erstellt haben:
- Gewähren Sie Zugriff auf das Repository.
- Konfigurieren Sie Docker, Paketmanager und andere Drittanbieter-Clients, um zur Authentifizierung bei Repositories.
- Remote-Repositories von Artifact Registry für die Authentifizierung konfigurieren
über ihre vorgelagerten Quellen.
- Container-Images: Konfigurieren Sie die Remote-Repository-Authentifizierung bei Docker Hub.
- Sprachpakete:
- Benutzerdefinierte benutzerdefinierte Upstreams: Konfigurieren Sie die Authentifizierung für Remote-Repository-Upstreams.
Repository-Beschreibungen bearbeiten
Sie können die Repository-Beschreibung in der Google Cloud Console oder im gcloud CLI verwenden können.
Console
Öffnen Sie in der Cloud Console die Seite Repositories.
Wählen Sie das Repository aus der Repository-Liste aus und klicken Sie auf Repository bearbeiten.
Bearbeiten Sie die Repository-Beschreibung und klicken Sie dann auf Speichern.
gcloud
Führen Sie den folgenden Befehl aus, um die Repository-Beschreibung zu aktualisieren:
gcloud artifacts repositories update REPOSITORY \
--project=PROJECT \
--location=LOCATION \
--description="DESCRIPTION"
Ersetzen Sie Folgendes:
REPOSITORY
: Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen des Flags dieses Standard-Repository verwendet.PROJECT
: die Google Cloud-Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.LOCATION
: a regional oder multiregional Standort Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie einen Standardstandort konfiguriert, können Sie dieses Flag weglassen, um die Standardeinstellung zu verwenden.DESCRIPTION
: Eine Beschreibung für das Repository.
Zugriff auf vorgelagerte Quellen in einem Dienstperimeter
Dienste in einem Dienstperimeter von VPC Service Controls sind eingeschränkt Zugriff auf Ressourcen außerhalb des Perimeters.
Sie können den Zugriff auf Upstream-Quellen innerhalb einer bestimmten Google Cloud-Projekt und -Standort.
Standardmäßig verweigert Artifact Registry den Zugriff auf Upstream-Quellen, wenn Sie nicht explizit Zugriff gewährt haben.
Für Artifact Registry ist die erforderliche Rolle der Artifact Registry-Administrator
(roles/artifactregistry.admin
).
Einstellungen für Upstream-Quellen ansehen
So rufen Sie die Konfiguration für eine bestimmte Kombination aus Projekt und Standort auf: führen Sie den folgenden Befehl aus:
gcloud artifacts vpcsc-config describe \
--project=PROJECT_ID \
--location=LOCATION
Verwenden Sie beispielsweise den folgenden Befehl, um die Einstellungen für Remote-Repositories aufzurufen
in us-east1
im Projekt my-project
:
gcloud artifacts vpcsc-config describe \
--project=my-project \
--location=us-east1
Zugriff auf Upstream-Quellen zulassen
Führen Sie den folgenden Befehl aus, um den Zugriff auf Upstream-Quellen an einem bestimmten Speicherort zuzulassen:
gcloud artifacts vpcsc-config allow \
--project=PROJECT_ID \
--location=LOCATION
Verwenden Sie beispielsweise den folgenden Befehl, um alle Remote-Repositories in
us-east1
im Projekt my-project
, um auf die Upstream-Quellen außerhalb des Projekts zuzugreifen
des Perimeters:
gcloud artifacts vpcsc-config allow \
--project=my-project \
--location=us-east1
Zugriff auf Upstream-Quellen verweigern
Wenn Sie den Zugriff auf Upstream-Quellen verweigern, werden im Remote-Cache gespeicherte Artefakte sind Repositories weiterhin verfügbar.
Führen Sie den folgenden Befehl aus, um den Zugriff auf Upstream-Quellen an einem bestimmten Standort zu verweigern:
gcloud artifacts vpcsc-config deny \
--project=PROJECT_ID \
--location=LOCATION
Verwenden Sie beispielsweise den folgenden Befehl, um den Zugriff auf Upstream-Quellen zu blockieren.
außerhalb des Perimeters für alle Remote-Repositories in us-west1
im
Projekt my-project
:
gcloud artifacts vpcsc-config deny \
--project=my-project \
--location=us-west1
Nächste Schritte
- Erstellen Sie ein Docker Hub-Remote-Repository.
- Weitere Informationen zu Artifact Registry-Remote-Repositories
- Remote-Repository-Authentifizierung bei Docker Hub konfigurieren