Standard-Repositories erstellen

Auf dieser Seite wird beschrieben, wie Sie Artifact Registry-Standardrepositories erstellen.

Standard-Repositories sind Repositories für Ihre privaten Artefakte. Sie laden Artefakte in diese Repositories hoch und laden Artefakte direkt aus diesen Repositories herunter.

Für einige Artefaktformate sind auch die folgenden Repository-Modi verfügbar:

  • In Remote-Repositories werden Artefakte aus externen Quellen wie Docker Hub, Maven Central oder PyPI gespeichert.
  • Virtuelle Repositories dienen als zentraler Zugriffspunkt zum Herunterladen, Installieren oder Bereitstellen von Artefakten, die sich in Upstream-Standard- oder ‑Remote-Repositories befinden.

Jedes Repository kann Artefakte für ein unterstütztes Format enthalten.

Hinweise

  1. Aktivieren Sie Artifact Registry sowie die Artifact Registry API und installieren Sie die Google Cloud CLI.
  2. (Optional) Konfigurieren Sie die Standardeinstellungen für gcloud-Befehle.
  3. Wenn Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK) zum Verschlüsseln von Repository-Inhalten benötigen, erstellen und aktivieren Sie einen Schlüssel in Cloud KMS für das Repository.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Artifact Registry Administrator (roles/artifactregistry.admin) für das Projekt Google Cloud zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Repositories benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Standard-Repository erstellen

Beim Erstellen eines Repositorys 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.

In Artifact Registry werden Einschränkungen für Organisationsrichtlinien erzwungen, die CMEK zum Verschlüsseln von Ressourcen erfordern oder einschränken, welche Cloud KMS-Schlüssel für den CMEK-Schutz verwendet werden können.

Repository mit der​COMMENTConsole erstellen Google Cloud

  1. Öffnen Sie in der Google Cloud Console die Seite Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie auf Repository erstellen.

  3. Geben Sie den Repository-Namen an. Repository-Namen können für jeden Repository-Speicherort in einem Projekt nur einmal vorkommen.

  4. Wählen Sie das Repository-Format aus.

  5. Wenn mehrere Repository-Modi verfügbar sind, wählen Sie Standard aus.

  6. Nur Maven: Konfigurieren Sie die Versionsrichtlinie.

    1. Wählen Sie eine Versionsrichtlinie aus:

      • Keine: Keine Versionsrichtlinie. Sowohl Release- als auch Snapshot-Pakete speichern
      • Release: Nur Releasepakete speichern.
      • Snapshot: Nur Snapshot-Pakete speichern.
    2. Wenn ein Snapshot-Repository nicht eindeutige Snapshots akzeptieren soll, die vorhandene Versionen im Repository überschreiben, wählen Sie Überschreibungen von Snapshots zulassen aus.

  7. Wählen Sie unter Standorttyp den Speicherort für das Repository aus:

    1. Wählen Sie als Speicherort „Region“ oder „Mehrere Regionen“ aus. Die Liste der Speicherorte ändert sich entsprechend Ihrer Auswahl.

    2. Wählen Sie in der Liste Region oder Mehrere Regionen einen Speicherort aus.

    Informationen zu Typen von Speicherorten und unterstützten Speicherorten finden Sie unter Repository-Speicherorte.

  8. 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 vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.

  9. Wenn Sie Ihre Repositories mit 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.

  10. Wählen Sie im Abschnitt Verschlüsselung den Verschlüsselungsmechanismus für das Repository aus.

    • Google-managed encryption key: Verschlüsselung des Repository-Inhalts mit einemGoogle-owned and Google-managed encryption key.
    • 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 mit der Einstellung Unveränderliche Image-Tags festgelegt, dass in Ihrem Repository Image-Tags verwendet werden, die immer auf denselben Image-Digest verweisen. Ein Nutzer mit der Rolle „Artifact Registry-Administrator“ kann diese Einstellung nach dem Erstellen des Repositorys ändern.

      • Diese Einstellung ist standardmäßig deaktiviert. Image-Tags sind änderbar. Das bedeutet, dass sich der Image-Digest, auf den das Tag verweist, ändern kann.
      • Wenn diese Einstellung aktiviert ist, sind Image-Tags unveränderlich. Ein Tag muss immer auf denselben Image-Digest verweisen. Weitere Informationen zu veränderlichen und unveränderlichen Image-Tags finden Sie unter Container-Image-Versionen.
  11. Wenn Sie Bereinigungsrichtlinien zum Löschen nicht verwendeter Artefakte verwenden möchten, gehen Sie im Abschnitt Bereinigungsrichtlinien so vor:

    1. Wählen Sie Probelauf aus, um die Richtlinie zu testen, bevor Sie sie anwenden.
    2. Klicken Sie auf Richtlinie hinzufügen, um Ihrem Repository eine Aufbewahrungs- oder Löschrichtlinie hinzuzufügen.
    3. Geben Sie im Feld Name einen aussagekräftigen Namen für die Bereinigungsrichtlinie ein.
    4. Wählen Sie im Bereich Richtlinientyp eine der folgenden Optionen aus:

      • Bedingtes Löschen: Artefakte werden basierend auf von Ihnen definierten Bedingungen gelöscht.
      • Bedingte Aufbewahrung: Artefakte werden auf Grundlage von Bedingungen aufbewahrt, die Sie definieren.
      • Neueste Versionen beibehalten: Behält eine bestimmte Anzahl der neuesten Versionen pro Paket bei.

      Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren.

  12. Wählen Sie im Abschnitt Artifact Analysis (Artefaktanalyse) die Einstellungen für das Scannen auf Sicherheitslücken aus:

    • Aktiviert: Das Scannen in diesem Repository ist zulässig. Die Container Scanning API muss für Ihr Projekt aktiviert sein.

      Wenn Sie die Container Scanning API aktivieren, beginnt die Abrechnung sofort. Nachdem Sie die Container Scanning API für ein Projekt aktiviert haben, wird das Scannen auf Sicherheitslücken für alle neuen und vorhandenen Repositories aktiviert. Wenn Sie ein Image in Artifact Registry hochladen, wird es automatisch von der Artefaktanalyse gescannt.

    • Deaktiviert: Das Scannen in diesem Repository wird verhindert. Wenn die Container Scanning API in Ihrem Projekt aktiviert ist, wird das Scannen in anderen Repositorys fortgesetzt. Dieses Repository wird ausgeschlossen.

      Weitere Informationen zu den Optionen für das Scannen auf Sicherheitslücken finden Sie unter Automatisches Scannen aktivieren und deaktivieren.

  13. Klicken Sie auf Erstellen.

Artifact Registry erstellt das Repository und fügt es der Liste der Repositories hinzu.

Nachdem Sie das Repository erstellt haben, gehen Sie so vor:

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 Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. 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 vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.
  • KMS-KEY: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln des Repository-Inhalts verwenden. Der Pfad hat folgendes Format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ersetzen Sie Folgendes:

    • KMS-PROJECT: 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 \
      --disable-vulnerability-scanning

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 Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. 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 vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.
    • KMS-KEY: Der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln des Repository-Inhalts verwenden. Der Pfad hat folgendes Format:

      projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

      Ersetzen Sie Folgendes:

      • KMS-PROJECT: 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, mit dem Sie Ihr Repository so konfigurieren, dass Tags verwendet werden, die immer auf denselben Image-Digest verweisen.

      Wenn das Flag --immutable-tags nicht übergeben wird, kann ein Tag standardmäßig zu einem anderen Image-Digest verschoben werden. Weitere Informationen zu unveränderlichen und veränderlichen Image-Tags finden Sie unter Container-Image-Versionen.

    • --async wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.

    • --disable-vulnerability-scanning: ist ein optionales Flag, mit dem Sie das automatische Scannen auf Sicherheitslücken für Ihr Repository deaktivieren können.
    • --allow-vulnerability-scanning: ist ein optionales Flag, das Ihr Repository so konfiguriert, dass das automatische Scannen auf Sicherheitslücken zulässig ist. Weitere Informationen finden Sie unter Automatisches Scannen aktivieren oder deaktivieren.

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 Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. 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 vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.
  • KMS-KEY: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln des Repository-Inhalts nutzen. Der Pfad hat folgendes Format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ersetzen Sie Folgendes:

    • KMS-PROJECT: 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 Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. 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 vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.
  • KMS-KEY: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln des Repository-Inhalts nutzen. Der Pfad hat folgendes Format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ersetzen Sie Folgendes:

    • KMS-PROJECT: 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 Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. 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 vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.
  • KMS-KEY: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln des Repository-Inhalts verwenden. Der Pfad hat folgendes Format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ersetzen Sie Folgendes:

    • KMS-PROJECT: 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 werden in Maven-Repositories sowohl Snapshot- als auch Releaseversionen von Paketen gespeichert. Sie können eine Versionsrichtlinie angeben, um ein Snapshot- oder 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 Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. 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 vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.
  • KMS-KEY: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln des Repository-Inhalts nutzen. Der Pfad hat folgendes Format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ersetzen Sie Folgendes:

    • KMS-PROJECT: 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 Releaseversionen in verschiedenen Repositorys speichern möchten, geben Sie die Versionsrichtlinie im Befehl 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 sind spezifisch für Maven-Repositories:

--version-policy=VERSION-POLICY

Gibt die Arten von Paketen an, die im Repository gespeichert werden sollen. Sie können VERSION-POLICY auf Folgendes festlegen:

  • None – Keine Versionsrichtlinie. Sowohl Release- als auch Snapshot-Pakete speichern Wenn Sie das Flag --version-policy nicht in Ihren 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 Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. 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 vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.
  • KMS-KEY: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln des Repository-Inhalts verwenden. Der Pfad hat folgendes Format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ersetzen Sie Folgendes:

    • KMS-PROJECT: 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 Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. 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 vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.
  • KMS-KEY: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln des Repository-Inhalts nutzen. Der Pfad hat folgendes Format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ersetzen Sie Folgendes:

    • KMS-PROJECT: 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 Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. 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 vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.
  • KMS-KEY: der vollständige Pfad zum Cloud KMS-Verschlüsselungsschlüssel, wenn Sie einen vom Kunden verwalteten Verschlüsselungsschlüssel zum Verschlüsseln des Repository-Inhalts nutzen. Der Pfad hat folgendes Format:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Ersetzen Sie Folgendes:

    • KMS-PROJECT: 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.

Artifact Registry erstellt das Repository. Führen Sie den folgenden Befehl aus, um eine Beschreibung des Repositorys aufzurufen:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Nachdem Sie das Repository erstellt haben, gehen Sie so vor:

Repository mit Terraform erstellen

Verwenden Sie die Ressource google_artifact_registry_repository, um Repositories zu erstellen. Die Version 5.0.0 oder höher von terraform-provider-google ist erforderlich.

Wenn Sie Terraform für Google Cloudnoch nicht kennen, 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 Name des Repositorys.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.
  • KEY ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie für die Verschlüsselung vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.
  • Mit DRY_RUN_STATUS wird festgelegt, ob Artefakte durch Bereinigungsrichtlinien gelöscht werden oder ob nur protokolliert wird, welche Artefakte gelöscht würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie das Feld weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.

    • true: Legt die Richtlinien fest, die im Probelaufmodus ausgeführt werden sollen. Im Probelaufmodus werden keine Artefakte gelöscht.
    • false: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinie gelöscht oder beibehalten.

    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 werden soll. Gültige Werte sind tagged, untagged und any. 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 und TAG_PREFIX_N sind Tag-Präfixe, auf die die Richtlinie angewendet werden soll.

  • PKG_PREFIX und PKG_PREFIX_N sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.

  • TIME_SINCE_UPLOAD ist die Zeit seit dem Hochladen einer Artefaktversion in das Repository, angegeben als Dauer. Sie können die Dauer in Sekunden, Minuten, Stunden oder Tagen angeben, indem Sie s, m, h oder 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 Name des Repositorys.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.
  • KEY ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie für die Verschlüsselung vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.
  • Mit DRY_RUN_STATUS wird festgelegt, ob Artefakte durch Bereinigungsrichtlinien gelöscht werden oder ob nur protokolliert wird, welche Artefakte gelöscht würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie das Feld weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.

    • true: Legt die Richtlinien fest, die im Probelaufmodus ausgeführt werden sollen. Im Probelaufmodus werden keine Artefakte gelöscht.
    • false: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinie gelöscht oder beibehalten.

    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 werden soll. Gültige Werte sind tagged, untagged und any. 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 und TAG_PREFIX_N sind Tag-Präfixe, auf die die Richtlinie angewendet werden soll.

  • PKG_PREFIX und PKG_PREFIX_N sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.

  • TIME_SINCE_UPLOAD ist die Zeit seit dem Hochladen einer Artefaktversion in das Repository, angegeben als Dauer. Sie können die Dauer in Sekunden, Minuten, Stunden oder Tagen angeben, indem Sie s, m, h oder 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 Name des Repositorys.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.
  • KEY ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie für die Verschlüsselung vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.
  • Mit DRY_RUN_STATUS wird festgelegt, ob Artefakte durch Bereinigungsrichtlinien gelöscht werden oder ob nur protokolliert wird, welche Artefakte gelöscht würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie das Feld weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.

    • true: Legt die Richtlinien fest, die im Probelaufmodus ausgeführt werden sollen. Im Probelaufmodus werden keine Artefakte gelöscht.
    • false: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinie gelöscht oder beibehalten.

    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 werden soll. Gültige Werte sind tagged, untagged und any. 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 und TAG_PREFIX_N sind Tag-Präfixe, auf die die Richtlinie angewendet werden soll.

  • PKG_PREFIX und PKG_PREFIX_N sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.

  • TIME_SINCE_UPLOAD ist die Zeit seit dem Hochladen einer Artefaktversion in das Repository, angegeben als Dauer. Sie können die Dauer in Sekunden, Minuten, Stunden oder Tagen angeben, indem Sie s, m, h oder 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 Name des Repositorys.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.
  • KEY ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie für die Verschlüsselung vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.
  • Mit DRY_RUN_STATUS wird festgelegt, ob Artefakte durch Bereinigungsrichtlinien gelöscht werden oder ob nur protokolliert wird, welche Artefakte gelöscht würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie das Feld weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.

    • true: Legt die Richtlinien fest, die im Probelaufmodus ausgeführt werden sollen. Im Probelaufmodus werden keine Artefakte gelöscht.
    • false: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinie gelöscht oder beibehalten.

    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 werden soll. Gültige Werte sind tagged, untagged und any. 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 und TAG_PREFIX_N sind Tag-Präfixe, auf die die Richtlinie angewendet werden soll.

  • PKG_PREFIX und PKG_PREFIX_N sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.

  • TIME_SINCE_UPLOAD ist die Zeit seit dem Hochladen einer Artefaktversion in das Repository, angegeben als Dauer. Sie können die Dauer in Sekunden, Minuten, Stunden oder Tagen angeben, indem Sie s, m, h oder 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 Name des Repositorys.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.
  • KEY ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie für die Verschlüsselung vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.
  • Mit DRY_RUN_STATUS wird festgelegt, ob Artefakte durch Bereinigungsrichtlinien gelöscht werden oder ob nur protokolliert wird, welche Artefakte gelöscht würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie das Feld weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.

    • true: Legt die Richtlinien fest, die im Probelaufmodus ausgeführt werden sollen. Im Probelaufmodus werden keine Artefakte gelöscht.
    • false: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinie gelöscht oder beibehalten.

    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 werden soll. Gültige Werte sind tagged, untagged und any. 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 und TAG_PREFIX_N sind Tag-Präfixe, auf die die Richtlinie angewendet werden soll.

  • PKG_PREFIX und PKG_PREFIX_N sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.

  • TIME_SINCE_UPLOAD ist die Zeit seit dem Hochladen einer Artefaktversion in das Repository, angegeben als Dauer. Sie können die Dauer in Sekunden, Minuten, Stunden oder Tagen angeben, indem Sie s, m, h oder 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 standardmäßig ein Maven-Repository, in dem 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 Name des Repositorys.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.
  • KEY ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie für die Verschlüsselung vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.
  • Mit DRY_RUN_STATUS wird festgelegt, ob Artefakte durch Bereinigungsrichtlinien gelöscht werden oder ob nur protokolliert wird, welche Artefakte gelöscht würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie das Feld weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.

    • true: Legt die Richtlinien fest, die im Probelaufmodus ausgeführt werden sollen. Im Probelaufmodus werden keine Artefakte gelöscht.
    • false: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinie gelöscht oder beibehalten.

    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 werden soll. Gültige Werte sind tagged, untagged und any. 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 und TAG_PREFIX_N sind Tag-Präfixe, auf die die Richtlinie angewendet werden soll.

  • PKG_PREFIX und PKG_PREFIX_N sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.

  • TIME_SINCE_UPLOAD ist die Zeit seit dem Hochladen einer Artefaktversion in das Repository, angegeben als Dauer. Sie können die Dauer in Sekunden, Minuten, Stunden oder Tagen angeben, indem Sie s, m, h oder d anhängen.

  • KEEP_COUNT ist die Anzahl der Versionen eines Artefakts, die in Ihrem Repository beibehalten werden sollen.

    Wenn Sie Snapshot- und Releaseversionen in verschiedenen Repositorys speichern möchten, geben Sie mit einem maven_config-Block eine Versionsrichtlinie für das Repository an. Dieser Block unterstützt die folgenden Einstellungen:

  • Mit version_policy wird die Versionsrichtlinie mit einem der folgenden Werte festgelegt:

    • VERSION_POLICY_UNSPECIFIED: Snapshot- und Release-Pakete speichern. Dies ist die Standardeinstellung.
    • RELEASE: Nur Store-Releasepakete.
    • SNAPSHOT: Nur Snapshot-Pakete speichern.
  • Mit allow_snapshot_overwrites wird ein Repository mit einer SNAPSHOT-Versionsrichtlinie konfiguriert, um nicht eindeutige Snapshots zu akzeptieren, die vorhandene Versionen im Repository überschreiben.

    Im folgenden Beispiel wird ein Maven-Repository mit einer Richtlinie für Release-Versionen 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 Name des Repositorys.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.
  • KEY ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie für die Verschlüsselung vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.
  • Mit DRY_RUN_STATUS wird festgelegt, ob Artefakte durch Bereinigungsrichtlinien gelöscht werden oder ob nur protokolliert wird, welche Artefakte gelöscht würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie das Feld weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.

    • true: Legt die Richtlinien fest, die im Probelaufmodus ausgeführt werden sollen. Im Probelaufmodus werden keine Artefakte gelöscht.
    • false: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinie gelöscht oder beibehalten.

    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 werden soll. Gültige Werte sind tagged, untagged und any. 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 und TAG_PREFIX_N sind Tag-Präfixe, auf die die Richtlinie angewendet werden soll.

  • PKG_PREFIX und PKG_PREFIX_N sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.

  • TIME_SINCE_UPLOAD ist die Zeit seit dem Hochladen einer Artefaktversion in das Repository, angegeben als Dauer. Sie können die Dauer in Sekunden, Minuten, Stunden oder Tagen angeben, indem Sie s, m, h oder 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 Name des Repositorys.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.
  • KEY ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie für die Verschlüsselung vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.
  • Mit DRY_RUN_STATUS wird festgelegt, ob Artefakte durch Bereinigungsrichtlinien gelöscht werden oder ob nur protokolliert wird, welche Artefakte gelöscht würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie das Feld weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.

    • true: Legt die Richtlinien fest, die im Probelaufmodus ausgeführt werden sollen. Im Probelaufmodus werden keine Artefakte gelöscht.
    • false: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinie gelöscht oder beibehalten.

    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 werden soll. Gültige Werte sind tagged, untagged und any. 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 und TAG_PREFIX_N sind Tag-Präfixe, auf die die Richtlinie angewendet werden soll.

  • PKG_PREFIX und PKG_PREFIX_N sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.

  • TIME_SINCE_UPLOAD ist die Zeit seit dem Hochladen einer Artefaktversion in das Repository, angegeben als Dauer. Sie können die Dauer in Sekunden, Minuten, Stunden oder Tagen angeben, indem Sie s, m, h oder 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 Name des Repositorys.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.
  • KEY ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie für die Verschlüsselung vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.
  • Mit DRY_RUN_STATUS wird festgelegt, ob Artefakte durch Bereinigungsrichtlinien gelöscht werden oder ob nur protokolliert wird, welche Artefakte gelöscht würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Lassen Sie das Feld weg, wenn Sie dem Repository keine Bereinigungsrichtlinien hinzufügen möchten.

    • true: Legt die Richtlinien fest, die im Probelaufmodus ausgeführt werden sollen. Im Probelaufmodus werden keine Artefakte gelöscht.
    • false: Wendet die Bereinigungsrichtlinien an. Artefakte werden je nach Richtlinie gelöscht oder beibehalten.

    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 werden soll. Gültige Werte sind tagged, untagged und any. 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 und TAG_PREFIX_N sind Tag-Präfixe, auf die die Richtlinie angewendet werden soll.

  • PKG_PREFIX und PKG_PREFIX_N sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.

  • TIME_SINCE_UPLOAD ist die Zeit seit dem Hochladen einer Artefaktversion in das Repository, angegeben als Dauer. Sie können die Dauer in Sekunden, Minuten, Stunden oder Tagen angeben, indem Sie s, m, h oder d anhängen.

  • KEEP_COUNT ist die Anzahl der Versionen eines Artefakts, die in Ihrem Repository beibehalten werden sollen.

Artifact Registry erstellt das Repository. Führen Sie den folgenden Befehl aus, um eine Beschreibung des Repositorys aufzurufen:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Nachdem Sie das Repository erstellt haben:

Repository-Beschreibungen bearbeiten

Sie können die Repository-Beschreibung über die Google Cloud Console oder die gcloud CLI ändern.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Repositories.

    Zur Seite „Repositories“

  2. Wählen Sie in der Repository-Liste das Repository aus und klicken Sie auf Repository bearbeiten.

  3. 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: der Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen dieses 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 ist der regionale oder multiregionale Speicherort des Repositorys. Mit diesem Flag können Sie Repositories an einem bestimmten Speicherort aufrufen. Wenn Sie einen Standard-Speicherort konfiguriert haben, wird bei Weglassen dieses Flags dieser Standardwert verwendet.
  • DESCRIPTION: Eine Beschreibung des Repositorys.

Nächste Schritte