Auf dieser Seite wird beschrieben, wie Sie Artifact Registry-Standard-Repositories erstellen.
Standard-Repositories sind Repositories für Ihre privaten Artefakte. Sie können Artefakte direkt in diese Repositories hoch- und herunterladen.
Die folgenden Repository-Modi sind auch für einige Artefaktformate verfügbar:
- Remote-Repositories speichern Artefakte aus externen Quellen wie Docker Hub, Maven Central oder PyPI.
- Virtuelle Repositories dienen als einzelner Zugangspunkt zum Herunterladen, Installieren und Bereitstellen von Artefakten, die sich in vorgelagerten Standard- oder Remote-Repositories befinden.
Jedes Repository kann Artefakte für ein einzelnes unterstütztes Format enthalten.
Hinweise
- Artifact Registry aktivieren, einschließlich der Aktivierung der Artifact Registry API und der Installation der Google Cloud CLI
- (Optional) Konfigurieren Sie die Standardeinstellungen für gcloud-Befehle.
- Wenn Sie zum Verschlüsseln von Repository-Inhalten vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs) benötigen, erstellen und aktivieren Sie in Cloud KMS einen Schlüssel für das Repository.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Artifact Registry Repository-Administrator (roles/artifactregistry.repoAdmin
) für das Google Cloud-Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Repositories benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Standard-Repository erstellen
Wenn Sie ein Repository erstellen, müssen Sie die folgenden Einstellungen konfigurieren, die nach dem Erstellen des Repositorys nicht mehr geändert werden können:
- Artefaktformat.
- Repository-Modus, wenn für das ausgewählte Format mehrere Modi verfügbar sind
- Speicherort des Repositorys.
- Verschlüsselung mit Schlüsseln, die Google gehören und von Google verwaltet werden, oder mit vom Kunden verwalteten Verschlüsselungsschlüsseln. Artifact Registry verwendet standardmäßig Google-eigene und von Google verwaltete Verschlüsselungsschlüssel.
Artifact Registry erzwingt Einschränkungen für Organisationsrichtlinien, die einen CMEK erfordern, um Ressourcen zu verschlüsseln, oder festzulegen, welche Cloud KMS-Schlüssel für den CMEK-Schutz verwendet werden können.
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 das Repository-Format aus.
Wenn mehrere Repository-Modi verfügbar sind, wählen Sie Standard aus.
Nur Maven: Konfigurieren Sie die Versionsrichtlinie.
Wählen Sie eine Versionsrichtlinie aus:
- Keine: keine Versionsrichtlinie. Speichern Sie sowohl Release- als auch Snapshot-Pakete.
- Release: Nur Release-Pakete speichern.
- Snapshot – nur Snapshot-Pakete speichern
Wenn ein Snapshot-Repository nicht eindeutige Snapshots akzeptieren soll, die vorhandene Versionen im Repository überschreiben, wählen Sie Snapshot-Überschreibungen zulassen aus.
Wählen Sie unter 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 Repository-Standorte.
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 sind.
Wenn Sie Ihre Repositories mithilfe von Labels organisieren möchten, klicken Sie auf Label hinzufügen und geben Sie das Schlüssel/Wert-Paar für das Label ein. Sie können Labels hinzufügen, bearbeiten oder entfernen, nachdem Sie das Repository erstellt haben.
Wählen Sie im Abschnitt Verschlüsselung den Verschlüsselungsmechanismus für das Repository aus.
- Von Google verwalteter Schlüssel: Verschlüsselt Repository-Inhalte mit einem von Google verwalteten und einem von Google verwalteten 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.
Bei Docker-Repositories wird Ihr Repository mit der Einstellung Unveränderliche Image-Tags für die Verwendung von Image-Tags konfiguriert, die immer auf denselben Image-Digest verweisen. Ein Nutzer mit der Artifact Registry-Administratorrolle kann diese Einstellung ändern, nachdem das Repository erstellt wurde.
- Diese Einstellung ist standardmäßig deaktiviert. Image-Tags sind änderbar. Das bedeutet, dass der Image-Digest, auf den das Tag verweist, geändert werden kann.
- Wenn diese Einstellung aktiviert ist, sind Image-Tags unveränderlich. Ein Tag muss immer auf denselben Image-Digest verweisen. Weitere Informationen zu änderbaren und unveränderlichen Image-Tags finden Sie unter Container-Image-Versionen.
Wenn Sie Bereinigungsrichtlinien verwenden möchten, um nicht verwendete Artefakte zu löschen, gehen Sie im Abschnitt Bereinigungsrichtlinien so vor:
- 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 von Ihnen definierten Bedingungen.
- Bedingte Beibehaltung: Behält Artefakte basierend auf von Ihnen definierten Bedingungen bei.
Neueste Versionen beibehalten: Behält eine festgelegte Anzahl von neuesten Versionen pro Paket bei.
Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren.
Klicken Sie auf Erstellen.
Artifact Registry erstellt das Repository und fügt es der Liste der Repositories hinzu.
Nachdem Sie das Repository erstellt haben:
- Gewähren Sie Zugriff auf das Repository.
Docker, Paketmanager und andere Drittanbieter-Clients für die Authentifizierung bei Repositories konfigurieren.
Repository mit der Google Cloud CLI erstellen
Führen Sie den Befehl aus, um ein neues Repository zu erstellen.
Apt
gcloud artifacts repositories create REPOSITORY \ --repository-format=apt \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Ersetzen Sie Folgendes:
REPOSITORY
: Name des Repositorys. Repository-Namen können für jeden Repository-Speicherort in einem Projekt nur einmal vorkommen.LOCATION
: der regionale oder multiregionale Standort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standardwert festlegen. Führen Sie den folgenden Befehl aus, um eine Liste der unterstützten Speicherorte aufzurufen:gcloud artifacts locations list
DESCRIPTION
: Eine Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.KMS-KEY
: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln von Repository-Inhalten verwenden. Der Pfad hat folgendes Format:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Ersetzen Sie Folgendes:
KMS-PROJECT
ist das Projekt, in dem Ihr Schlüssel gespeichert ist.KMS-LOCATION
: Der Speicherort des Schlüssels.KEY-RING
: Der Name des Schlüsselbunds.KEY
: Der Name des Schlüssels.
--async
wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
Docker
gcloud artifacts repositories create REPOSITORY \
--repository-format=docker \
--location=LOCATION \
--description="DESCRIPTION" \
--kms-key=KMS-KEY \
--immutable-tags \
--async
Ersetzen Sie Folgendes:
REPOSITORY
: Name des Repositorys. Repository-Namen können für jeden Repository-Speicherort in einem Projekt nur einmal vorkommen.LOCATION
: der regionale oder multiregionale Standort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standardwert festlegen. Führen Sie den folgenden Befehl aus, um eine Liste der unterstützten Speicherorte aufzurufen:gcloud artifacts locations list
DESCRIPTION
: Eine Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.KMS-KEY
: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln von Repository-Inhalten verwenden. Der Pfad hat folgendes Format:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Ersetzen Sie Folgendes:
KMS-PROJECT
ist das Projekt, in dem Ihr Schlüssel gespeichert ist.KMS-LOCATION
: Der Speicherort des Schlüssels.KEY-RING
: Der Name des Schlüsselbunds.KEY
: Der Name des Schlüssels.
--immutable-tags
ist ein optionales Flag, das Ihr Repository so konfiguriert, dass Tags verwendet werden, die immer auf denselben Image-Digest verweisen.Wenn das Flag
--immutable-tags
nicht übergeben wird, kann ein Tag standardmäßig in einen anderen Image-Digest verschoben werden. Weitere Informationen zu unveränderlichen und änderbaren Image-Tags finden Sie unter Container-Image-Versionen.--async
wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
Allgemein
gcloud artifacts repositories create REPOSITORY \ --repository-format=generic \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Ersetzen Sie Folgendes:
REPOSITORY
: Name des Repositorys. Repository-Namen können für jeden Repository-Speicherort in einem Projekt nur einmal vorkommen.LOCATION
: der regionale oder multiregionale Standort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standardwert festlegen. Führen Sie den folgenden Befehl aus, um eine Liste der unterstützten Speicherorte aufzurufen:gcloud artifacts locations list
DESCRIPTION
: Eine Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.KMS-KEY
: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln von Repository-Inhalten verwenden. Der Pfad hat folgendes Format:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Ersetzen Sie Folgendes:
KMS-PROJECT
ist das Projekt, in dem Ihr Schlüssel gespeichert ist.KMS-LOCATION
: Der Speicherort des Schlüssels.KEY-RING
: Der Name des Schlüsselbunds.KEY
: Der Name des Schlüssels.
--async
wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
Go
gcloud artifacts repositories create REPOSITORY \ --repository-format=go \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Ersetzen Sie Folgendes:
REPOSITORY
: Name des Repositorys. Repository-Namen können für jeden Repository-Speicherort in einem Projekt nur einmal vorkommen.LOCATION
: der regionale oder multiregionale Standort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standardwert festlegen. Führen Sie den folgenden Befehl aus, um eine Liste der unterstützten Speicherorte aufzurufen:gcloud artifacts locations list
DESCRIPTION
: Eine Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.KMS-KEY
: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln von Repository-Inhalten verwenden. Der Pfad hat folgendes Format:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Ersetzen Sie Folgendes:
KMS-PROJECT
ist das Projekt, in dem Ihr Schlüssel gespeichert ist.KMS-LOCATION
: Der Speicherort des Schlüssels.KEY-RING
: Der Name des Schlüsselbunds.KEY
: Der Name des Schlüssels.
--async
wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
KubeFlow-Pipelines
gcloud artifacts repositories create REPOSITORY \ --repository-format=kfp \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Ersetzen Sie Folgendes:
REPOSITORY
: Name des Repositorys. Repository-Namen können für jeden Repository-Speicherort in einem Projekt nur einmal vorkommen.LOCATION
: der regionale oder multiregionale Standort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standardwert festlegen. Führen Sie den folgenden Befehl aus, um eine Liste der unterstützten Speicherorte aufzurufen:gcloud artifacts locations list
DESCRIPTION
: Eine Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.KMS-KEY
: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln von Repository-Inhalten verwenden. Der Pfad hat folgendes Format:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Ersetzen Sie Folgendes:
KMS-PROJECT
ist das Projekt, in dem Ihr Schlüssel gespeichert ist.KMS-LOCATION
: Der Speicherort des Schlüssels.KEY-RING
: Der Name des Schlüsselbunds.KEY
: Der Name des Schlüssels.
--async
wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
Maven
Standardmäßig speichern Maven-Repositories sowohl Snapshot- als auch Release-Versionen von Paketen. Sie können eine Versionsrichtlinie angeben, um einen Snapshot oder ein Release-Repository zu erstellen.
Führen Sie den folgenden Befehl aus, um ein Repository zu erstellen, in dem Snapshots und Releases gespeichert werden:
gcloud artifacts repositories create REPOSITORY \ --repository-format=maven \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Ersetzen Sie Folgendes:
REPOSITORY
: Name des Repositorys. Repository-Namen können für jeden Repository-Speicherort in einem Projekt nur einmal vorkommen.LOCATION
: der regionale oder multiregionale Standort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standardwert festlegen. Führen Sie den folgenden Befehl aus, um eine Liste der unterstützten Speicherorte aufzurufen:gcloud artifacts locations list
DESCRIPTION
: Eine Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.KMS-KEY
: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln von Repository-Inhalten verwenden. Der Pfad hat folgendes Format:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Ersetzen Sie Folgendes:
KMS-PROJECT
ist das Projekt, in dem Ihr Schlüssel gespeichert ist.KMS-LOCATION
: Der Speicherort des Schlüssels.KEY-RING
: Der Name des Schlüsselbunds.KEY
: Der Name des Schlüssels.
--async
wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.Wenn Sie Snapshot- und Release-Versionen in verschiedenen Repositories speichern möchten, geben Sie im Befehl die Versionsrichtlinie an:
gcloud artifacts repositories create REPOSITORY \ --repository-format=maven \ [--location=LOCATION] \ [--description="DESCRIPTION"] \ [--kms-key=KMS-KEY] \ [--version-policy=VERSION-POLICY] \ [--allow-snapshot-overwrites] \ [--async] \
Die folgenden Flags gelten nur für Maven-Repositories:
--version-policy=VERSION-POLICY
- Gibt die Pakettypen an, die im Repository gespeichert werden sollen. Sie können für VERSION-POLICY Folgendes festlegen:
None
: Keine Versionsrichtlinie. Speichern Sie sowohl Release- als auch Snapshot-Pakete. Wenn Sie das Flag--version-policy
nicht in den Befehl aufnehmen, ist dies die Standardeinstellung.Release
– Nur Releasepakete speichern.Snapshot
: Nur Snapshot-Pakete speichern.
--allow-snapshot-overwrites
- Nur für Snapshot-Repositories. Wenn Sie dieses Flag angeben, können Sie nicht eindeutige Snapshots veröffentlichen, die vorhandene Versionen im Repository überschreiben.
npm
gcloud artifacts repositories create REPOSITORY \ --repository-format=npm \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Ersetzen Sie Folgendes:
REPOSITORY
: Name des Repositorys. Repository-Namen können für jeden Repository-Speicherort in einem Projekt nur einmal vorkommen.LOCATION
: der regionale oder multiregionale Standort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standardwert festlegen. Führen Sie den folgenden Befehl aus, um eine Liste der unterstützten Speicherorte aufzurufen:gcloud artifacts locations list
DESCRIPTION
: Eine Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.KMS-KEY
: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln von Repository-Inhalten verwenden. Der Pfad hat folgendes Format:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Ersetzen Sie Folgendes:
KMS-PROJECT
ist das Projekt, in dem Ihr Schlüssel gespeichert ist.KMS-LOCATION
: Der Speicherort des Schlüssels.KEY-RING
: Der Name des Schlüsselbunds.KEY
: Der Name des Schlüssels.
--async
wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
Python
gcloud artifacts repositories create REPOSITORY \ --repository-format=python \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Ersetzen Sie Folgendes:
REPOSITORY
: Name des Repositorys. Repository-Namen können für jeden Repository-Speicherort in einem Projekt nur einmal vorkommen.LOCATION
: der regionale oder multiregionale Standort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standardwert festlegen. Führen Sie den folgenden Befehl aus, um eine Liste der unterstützten Speicherorte aufzurufen:gcloud artifacts locations list
DESCRIPTION
: Eine Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.KMS-KEY
: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln von Repository-Inhalten verwenden. Der Pfad hat folgendes Format:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Ersetzen Sie Folgendes:
KMS-PROJECT
ist das Projekt, in dem Ihr Schlüssel gespeichert ist.KMS-LOCATION
: Der Speicherort des Schlüssels.KEY-RING
: Der Name des Schlüsselbunds.KEY
: Der Name des Schlüssels.
--async
wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
Yum
gcloud artifacts repositories create REPOSITORY \ --repository-format=yum \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Ersetzen Sie Folgendes:
REPOSITORY
: Name des Repositorys. Repository-Namen können für jeden Repository-Speicherort in einem Projekt nur einmal vorkommen.LOCATION
: der regionale oder multiregionale Standort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standardwert festlegen. Führen Sie den folgenden Befehl aus, um eine Liste der unterstützten Speicherorte aufzurufen:gcloud artifacts locations list
DESCRIPTION
: Eine Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.KMS-KEY
: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln von Repository-Inhalten verwenden. Der Pfad hat folgendes Format:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Ersetzen Sie Folgendes:
KMS-PROJECT
ist das Projekt, in dem Ihr Schlüssel gespeichert ist.KMS-LOCATION
: Der Speicherort des Schlüssels.KEY-RING
: Der Name des Schlüsselbunds.KEY
: Der Name des Schlüssels.
--async
wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
Ihr Repository wird in Artifact Registry erstellt. Führen Sie den folgenden Befehl aus, um eine Beschreibung des Repositorys anzuzeigen:
gcloud artifacts repositories describe REPOSITORY \
--location=LOCATION
Nachdem Sie das Repository erstellt haben:
- Gewähren Sie Zugriff auf das Repository.
- Konfigurieren Sie Bereinigungsrichtlinien, um nicht verwendete Artefakte zu löschen.
Docker, Paketmanager und andere Drittanbieter-Clients für die Authentifizierung bei Repositories konfigurieren.
Repository mit Terraform erstellen
Verwenden Sie die Ressource google_artifact_registry_repository, um Repositories zu erstellen.
Es ist mindestens terraform-provider-google
-Version 5.0.0
erforderlich.
Wenn Sie Terraform für Google Cloud zum ersten Mal verwenden, lesen Sie die Seite Erste Schritte – Google Cloud auf der HashiCorp-Website.
Im folgenden Beispiel werden der Anbieter und ein Repository mit dem Terraform-Ressourcennamen my-repo
definiert.
Apt
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "apt" kms_key_name = "KEY" 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 } } }
Ersetzen Sie Folgendes:
PROJECT-ID
ist die Google Cloud-Projekt-ID.LOCATION
ist der Speicherort des Repositorys.REPOSITORY
ist der Repository-Name.DESCRIPTION
ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.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 verwenden. Lassen Sie dieses Argument weg, um die Standardeinstellung, von Google verwaltete Verschlüsselungsschlüssel, zu verwenden.DRY_RUN_STATUS
bestimmt, ob Bereinigungsrichtlinien Artefakte löschen, oder protokolliert nur, welche Artefakte gelöscht werden würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie ihn weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.true
: legt die Richtlinien für die Ausführung im Probelaufmodus fest. Im Probelaufmodus werden keine Artefakte gelöscht.false
: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinien gelöscht oder aufbewahrt.
Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren.
POLICY_NAME
ist der Name der Bereinigungsrichtlinie.TAG_STATE
ist der Tag-Status, auf den die Richtlinie angewendet wird. Mögliche Werte sindtagged
,untagged
undany
.any
gilt sowohl für getaggte als auch für nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, können getaggte Artefakte nicht gelöscht werden.TAG_PREFIX
undTAG_PREFIX_N
sind Tag-Präfixe, auf die die Richtlinie angewendet wird.PKG_PREFIX
undPKG_PREFIX_N
sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.TIME_SINCE_UPLOAD
ist die Zeit, die seit dem Hochladen einer Artefaktversion in das Repository vergangen ist, angegeben als Dauer. Sie können eine Dauer von Sekunden, Minuten, Stunden oder Tagen angeben, indem Sies
,m
,h
bzw.d
anhängen.KEEP_COUNT
ist die Anzahl der Versionen eines Artefakts, die in Ihrem Repository beibehalten werden sollen.
Docker
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "docker" kms_key_name = "KEY" 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 } } }
Ersetzen Sie Folgendes:
PROJECT-ID
ist die Google Cloud-Projekt-ID.LOCATION
ist der Speicherort des Repositorys.REPOSITORY
ist der Repository-Name.DESCRIPTION
ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.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 verwenden. Lassen Sie dieses Argument weg, um die Standardeinstellung, von Google verwaltete Verschlüsselungsschlüssel, zu verwenden.DRY_RUN_STATUS
bestimmt, ob Bereinigungsrichtlinien Artefakte löschen, oder protokolliert nur, welche Artefakte gelöscht werden würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie ihn weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.true
: legt die Richtlinien für die Ausführung im Probelaufmodus fest. Im Probelaufmodus werden keine Artefakte gelöscht.false
: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinien gelöscht oder aufbewahrt.
Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren.
POLICY_NAME
ist der Name der Bereinigungsrichtlinie.TAG_STATE
ist der Tag-Status, auf den die Richtlinie angewendet wird. Mögliche Werte sindtagged
,untagged
undany
.any
gilt sowohl für getaggte als auch für nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, können getaggte Artefakte nicht gelöscht werden.TAG_PREFIX
undTAG_PREFIX_N
sind Tag-Präfixe, auf die die Richtlinie angewendet wird.PKG_PREFIX
undPKG_PREFIX_N
sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.TIME_SINCE_UPLOAD
ist die Zeit, die seit dem Hochladen einer Artefaktversion in das Repository vergangen ist, angegeben als Dauer. Sie können eine Dauer von Sekunden, Minuten, Stunden oder Tagen angeben, indem Sies
,m
,h
bzw.d
anhängen.KEEP_COUNT
ist die Anzahl der Versionen eines Artefakts, die in Ihrem Repository beibehalten werden sollen.
Allgemein
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "generic" kms_key_name = "KEY" 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 } } }
Ersetzen Sie Folgendes:
PROJECT-ID
ist die Google Cloud-Projekt-ID.LOCATION
ist der Speicherort des Repositorys.REPOSITORY
ist der Repository-Name.DESCRIPTION
ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.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 verwenden. Lassen Sie dieses Argument weg, um die Standardeinstellung, von Google verwaltete Verschlüsselungsschlüssel, zu verwenden.DRY_RUN_STATUS
bestimmt, ob Bereinigungsrichtlinien Artefakte löschen, oder protokolliert nur, welche Artefakte gelöscht werden würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie ihn weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.true
: Legt die Richtlinien für die Ausführung im Probelaufmodus fest. Im Probelaufmodus werden keine Artefakte gelöscht.false
: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinien gelöscht oder aufbewahrt.
Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren.
POLICY_NAME
ist der Name der Bereinigungsrichtlinie.TAG_STATE
ist der Tag-Status, auf den die Richtlinie angewendet wird. Mögliche Werte sindtagged
,untagged
undany
.any
gilt sowohl für getaggte als auch für nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, können getaggte Artefakte nicht gelöscht werden.TAG_PREFIX
undTAG_PREFIX_N
sind Tag-Präfixe, auf die die Richtlinie angewendet wird.PKG_PREFIX
undPKG_PREFIX_N
sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.TIME_SINCE_UPLOAD
ist die Zeit, die seit dem Hochladen einer Artefaktversion in das Repository vergangen ist, angegeben als Dauer. Sie können eine Dauer von Sekunden, Minuten, Stunden oder Tagen angeben, indem Sies
,m
,h
bzw.d
anhängen.KEEP_COUNT
ist die Anzahl der Versionen eines Artefakts, die in Ihrem Repository beibehalten werden sollen.
Go
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "go" kms_key_name = "KEY" 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 } } }
Ersetzen Sie Folgendes:
PROJECT-ID
ist die Google Cloud-Projekt-ID.LOCATION
ist der Speicherort des Repositorys.REPOSITORY
ist der Repository-Name.DESCRIPTION
ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.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 verwenden. Lassen Sie dieses Argument weg, um die Standardeinstellung, von Google verwaltete Verschlüsselungsschlüssel, zu verwenden.DRY_RUN_STATUS
bestimmt, ob Bereinigungsrichtlinien Artefakte löschen, oder protokolliert nur, welche Artefakte gelöscht werden würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie ihn weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.true
: Legt die Richtlinien für die Ausführung im Probelaufmodus fest. Im Probelaufmodus werden keine Artefakte gelöscht.false
: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinien gelöscht oder aufbewahrt.
Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren.
POLICY_NAME
ist der Name der Bereinigungsrichtlinie.TAG_STATE
ist der Tag-Status, auf den die Richtlinie angewendet wird. Mögliche Werte sindtagged
,untagged
undany
.any
gilt sowohl für getaggte als auch für nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, können getaggte Artefakte nicht gelöscht werden.TAG_PREFIX
undTAG_PREFIX_N
sind Tag-Präfixe, auf die die Richtlinie angewendet wird.PKG_PREFIX
undPKG_PREFIX_N
sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.TIME_SINCE_UPLOAD
ist die Zeit, die seit dem Hochladen einer Artefaktversion in das Repository vergangen ist, angegeben als Dauer. Sie können eine Dauer von Sekunden, Minuten, Stunden oder Tagen angeben, indem Sies
,m
,h
bzw.d
anhängen.KEEP_COUNT
ist die Anzahl der Versionen eines Artefakts, die in Ihrem Repository beibehalten werden sollen.
KubeFlow-Pipelines
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "kfp" kms_key_name = "KEY" 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 } } }
Ersetzen Sie Folgendes:
PROJECT-ID
ist die Google Cloud-Projekt-ID.LOCATION
ist der Speicherort des Repositorys.REPOSITORY
ist der Repository-Name.DESCRIPTION
ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.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 verwenden. Lassen Sie dieses Argument weg, um die Standardeinstellung, von Google verwaltete Verschlüsselungsschlüssel, zu verwenden.DRY_RUN_STATUS
bestimmt, ob Bereinigungsrichtlinien Artefakte löschen, oder protokolliert nur, welche Artefakte gelöscht werden würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie ihn weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.true
: legt die Richtlinien für die Ausführung im Probelaufmodus fest. Im Probelaufmodus werden keine Artefakte gelöscht.false
: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinien gelöscht oder aufbewahrt.
Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren.
POLICY_NAME
ist der Name der Bereinigungsrichtlinie.TAG_STATE
ist der Tag-Status, auf den die Richtlinie angewendet wird. Mögliche Werte sindtagged
,untagged
undany
.any
gilt sowohl für getaggte als auch für nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, können getaggte Artefakte nicht gelöscht werden.TAG_PREFIX
undTAG_PREFIX_N
sind Tag-Präfixe, auf die die Richtlinie angewendet wird.PKG_PREFIX
undPKG_PREFIX_N
sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.TIME_SINCE_UPLOAD
ist die Zeit, die seit dem Hochladen einer Artefaktversion in das Repository vergangen ist, angegeben als Dauer. Sie können eine Dauer von Sekunden, Minuten, Stunden oder Tagen angeben, indem Sies
,m
,h
bzw.d
anhängen.KEEP_COUNT
ist die Anzahl der Versionen eines Artefakts, die in Ihrem Repository beibehalten werden sollen.
Maven
Wenn Sie keine Versionsrichtlinie angeben, erstellt Artifact Registry ein Maven-Repository, in dem standardmäßig sowohl Snapshot- als auch Release-Versionen von Paketen gespeichert werden.
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "maven" kms_key_name = "KEY" 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 } } }
Ersetzen Sie Folgendes:
PROJECT-ID
ist die Google Cloud-Projekt-ID.LOCATION
ist der Speicherort des Repositorys.REPOSITORY
ist der Repository-Name.DESCRIPTION
ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.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 verwenden. Lassen Sie dieses Argument weg, um die Standardeinstellung, von Google verwaltete Verschlüsselungsschlüssel, zu verwenden.DRY_RUN_STATUS
bestimmt, ob Bereinigungsrichtlinien Artefakte löschen, oder protokolliert nur, welche Artefakte gelöscht werden würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie ihn weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.true
: legt die Richtlinien für die Ausführung im Probelaufmodus fest. Im Probelaufmodus werden keine Artefakte gelöscht.false
: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinien gelöscht oder aufbewahrt.
Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren.
POLICY_NAME
ist der Name der Bereinigungsrichtlinie.TAG_STATE
ist der Tag-Status, auf den die Richtlinie angewendet wird. Mögliche Werte sindtagged
,untagged
undany
.any
gilt sowohl für getaggte als auch für nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, können getaggte Artefakte nicht gelöscht werden.TAG_PREFIX
undTAG_PREFIX_N
sind Tag-Präfixe, auf die die Richtlinie angewendet wird.PKG_PREFIX
undPKG_PREFIX_N
sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.TIME_SINCE_UPLOAD
ist die Zeit, die seit dem Hochladen einer Artefaktversion in das Repository vergangen ist, angegeben als Dauer. Sie können eine Dauer von Sekunden, Minuten, Stunden oder Tagen angeben, indem Sies
,m
,h
bzw.d
anhängen.KEEP_COUNT
ist die Anzahl der Versionen eines Artefakts, die in Ihrem Repository beibehalten werden sollen.Zum Speichern von Snapshot- und Release-Versionen in verschiedenen Repositories geben Sie mithilfe eines
maven_config
-Blocks eine Versionsrichtlinie für das Repository an. 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 Dies ist die Standardeinstellung.- RELEASE: Nur Release-Pakete speichern.
- SNAPSHOT: Nur Snapshot-Pakete speichern.
allow_snapshot_overwrites
konfiguriert ein Repository mit einer Versionsrichtlinie vom TypSNAPSHOT
, um nicht eindeutige Snapshots zu akzeptieren, die vorhandene Versionen im Repository überschreiben.Im folgenden Beispiel wird ein Maven-Repository mit einer Releaseversionsrichtlinie definiert.
provider "google" { project = "my-project" } resource "google_artifact_registry_repository" "my-repo" { provider = google-beta location = "us-central1" repository_id = "my-repo" description = "Maven repository" format = "MAVEN" maven_config { version_policy = "RELEASE" } }
npm
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "npm" kms_key_name = "KEY" 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 } } }
Ersetzen Sie Folgendes:
PROJECT-ID
ist die Google Cloud-Projekt-ID.LOCATION
ist der Speicherort des Repositorys.REPOSITORY
ist der Repository-Name.DESCRIPTION
ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.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 verwenden. Lassen Sie dieses Argument weg, um die Standardeinstellung, von Google verwaltete Verschlüsselungsschlüssel, zu verwenden.DRY_RUN_STATUS
bestimmt, ob Bereinigungsrichtlinien Artefakte löschen, oder protokolliert nur, welche Artefakte gelöscht werden würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie ihn weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.true
: legt die Richtlinien für die Ausführung im Probelaufmodus fest. Im Probelaufmodus werden keine Artefakte gelöscht.false
: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinien gelöscht oder aufbewahrt.
Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren.
POLICY_NAME
ist der Name der Bereinigungsrichtlinie.TAG_STATE
ist der Tag-Status, auf den die Richtlinie angewendet wird. Mögliche Werte sindtagged
,untagged
undany
.any
gilt sowohl für getaggte als auch für nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, können getaggte Artefakte nicht gelöscht werden.TAG_PREFIX
undTAG_PREFIX_N
sind Tag-Präfixe, auf die die Richtlinie angewendet wird.PKG_PREFIX
undPKG_PREFIX_N
sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.TIME_SINCE_UPLOAD
ist die Zeit, die seit dem Hochladen einer Artefaktversion in das Repository vergangen ist, angegeben als Dauer. Sie können eine Dauer von Sekunden, Minuten, Stunden oder Tagen angeben, indem Sies
,m
,h
bzw.d
anhängen.KEEP_COUNT
ist die Anzahl der Versionen eines Artefakts, die in Ihrem Repository beibehalten werden sollen.
Python
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "python" kms_key_name = "KEY" 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 } } }
Ersetzen Sie Folgendes:
PROJECT-ID
ist die Google Cloud-Projekt-ID.LOCATION
ist der Speicherort des Repositorys.REPOSITORY
ist der Repository-Name.DESCRIPTION
ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.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 verwenden. Lassen Sie dieses Argument weg, um die Standardeinstellung, von Google verwaltete Verschlüsselungsschlüssel, zu verwenden.DRY_RUN_STATUS
bestimmt, ob Bereinigungsrichtlinien Artefakte löschen, oder protokolliert nur, welche Artefakte gelöscht werden würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie ihn weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.true
: legt die Richtlinien für die Ausführung im Probelaufmodus fest. Im Probelaufmodus werden keine Artefakte gelöscht.false
: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinien gelöscht oder aufbewahrt.
Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren.
POLICY_NAME
ist der Name der Bereinigungsrichtlinie.TAG_STATE
ist der Tag-Status, auf den die Richtlinie angewendet wird. Mögliche Werte sindtagged
,untagged
undany
.any
gilt sowohl für getaggte als auch für nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, können getaggte Artefakte nicht gelöscht werden.TAG_PREFIX
undTAG_PREFIX_N
sind Tag-Präfixe, auf die die Richtlinie angewendet wird.PKG_PREFIX
undPKG_PREFIX_N
sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.TIME_SINCE_UPLOAD
ist die Zeit, die seit dem Hochladen einer Artefaktversion in das Repository vergangen ist, angegeben als Dauer. Sie können eine Dauer von Sekunden, Minuten, Stunden oder Tagen angeben, indem Sies
,m
,h
bzw.d
anhängen.KEEP_COUNT
ist die Anzahl der Versionen eines Artefakts, die in Ihrem Repository beibehalten werden sollen.
Yum
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "yum" kms_key_name = "KEY" 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 } } }
Ersetzen Sie Folgendes:
PROJECT-ID
ist die Google Cloud-Projekt-ID.LOCATION
ist der Speicherort des Repositorys.REPOSITORY
ist der Repository-Name.DESCRIPTION
ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.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 verwenden. Lassen Sie dieses Argument weg, um die Standardeinstellung, von Google verwaltete Verschlüsselungsschlüssel, zu verwenden.DRY_RUN_STATUS
bestimmt, ob Bereinigungsrichtlinien Artefakte löschen, oder protokolliert nur, welche Artefakte gelöscht werden würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie ihn weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.true
: legt die Richtlinien für die Ausführung im Probelaufmodus fest. Im Probelaufmodus werden keine Artefakte gelöscht.false
: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinien gelöscht oder aufbewahrt.
Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren.
POLICY_NAME
ist der Name der Bereinigungsrichtlinie.TAG_STATE
ist der Tag-Status, auf den die Richtlinie angewendet wird. Mögliche Werte sindtagged
,untagged
undany
.any
gilt sowohl für getaggte als auch für nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, können getaggte Artefakte nicht gelöscht werden.TAG_PREFIX
undTAG_PREFIX_N
sind Tag-Präfixe, auf die die Richtlinie angewendet wird.PKG_PREFIX
undPKG_PREFIX_N
sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.TIME_SINCE_UPLOAD
ist die Zeit, die seit dem Hochladen einer Artefaktversion in das Repository vergangen ist, angegeben als Dauer. Sie können eine Dauer von Sekunden, Minuten, Stunden oder Tagen angeben, indem Sies
,m
,h
bzw.d
anhängen.KEEP_COUNT
ist die Anzahl der Versionen eines Artefakts, die in Ihrem Repository beibehalten werden sollen.
Ihr Repository wird in Artifact Registry erstellt. Führen Sie den folgenden Befehl aus, um eine Beschreibung des Repositorys anzuzeigen:
gcloud artifacts repositories describe REPOSITORY \
--location=LOCATION
Nachdem Sie das Repository erstellt haben:
- Gewähren Sie Zugriff auf das Repository.
Docker, Paketmanager und andere Drittanbieter-Clients für die Authentifizierung bei Repositories konfigurieren.
Repository-Beschreibungen bearbeiten
Sie können die Repository-Beschreibung über die Google Cloud Console oder die gcloud CLI ändern.
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
: ein regionaler oder multiregionaler Standort. Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie einen default-Speicherort konfiguriert haben, können Sie dieses Flag weglassen, um den Standardwert zu verwenden.DESCRIPTION
: Eine Beschreibung für das Repository.