Mit anderen Artefaktformaten arbeiten

Auf dieser Seite wird beschrieben, wie versionierte, unveränderliche Artefakte, die keinem bestimmten Paketformat entsprechen, in Repositories mit generischen Formaten der Artifact Registry gespeichert werden.

Mit der Kurzanleitung können Sie sich mit dem Speichern generischer Artefakte in Artifact Registry vertraut machen.

Allgemeine Artefakte sind Dateien in jedem Format, einschließlich, aber nicht beschränkt auf Folgendes:

  • Komprimierte Dateien wie TAR- und ZIP-Dateien
  • Konfigurationsdateien wie YAML- und TOML-Dateien
  • Textdateien und PDFs
  • Binärprogramme
  • Archive
  • Mediendateien

Im Gegensatz zu anderen Formaten sind Artefakte, die in Repositories mit generischen Formaten gespeichert sind, nicht für die Verwendung durch Docker, Paketmanager oder andere Drittanbieter-Clients vorgesehen.

Hinweis

  1. Erstellen Sie ein Repository für ein generisches Format.
  2. Prüfen Sie, ob Sie die erforderlichen Berechtigungen für das Repository haben.
  3. (Optional) Konfigurieren Sie Standardeinstellungen für Google Cloud CLI-Befehle.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Repository zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten generischer Artefakte 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.

Generische Artefakte hochladen

Sie können generische Artefakte einzeln nach Datei oder zu mehreren Artefakten hochladen, indem Sie -Verzeichnis. Beim Hochladen müssen ein Paketname und eine Versionsnummer angegeben werden. angegeben ist. Sie können auch den Pfad in der Zieldateistruktur angeben, und sie hochladen. Wenn kein Zielpfad angegeben ist, werden Artefakte in diesen Ordner hochgeladen: standardmäßig zur Stammebene.

Führen Sie den folgenden Befehl aus, um generische Artefakte in Ihr Repository hochzuladen:

gcloud

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • PROJECT: Ihre Google Cloud-Projekt-ID. Wenn Ihre Projekt-ID einen Doppelpunkt (:) enthält, lesen Sie die Informationen unter Auf Domains beschränkte Projekte
  • LOCATION: der regionale oder multiregionale Speicherort des Repositorys.
  • REPOSITORY: Der Name des Repositorys, in dem das Artefakt gespeichert ist.
  • SOURCE: Speicherort und Name Ihrer Datei wird hochgeladen.
  • PACKAGE: der Paketname der hochgeladenen Datei.
  • VERSION: Die Version der Datei, die Sie hochladen.
  • Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud artifacts generic upload \
        --project=PROJECT \
        --source=SOURCE \
        --package=PACKAGE \
        --version=VERSION \
        --location=LOCATION \
        --repository=REPOSITORY

    Windows (PowerShell)

    gcloud artifacts generic upload `
        --project=PROJECT `
        --source=SOURCE `
        --package=PACKAGE `
        --version=VERSION `
        --location=LOCATION `
        --repository=REPOSITORY

    Windows (cmd.exe)

    gcloud artifacts generic upload ^
        --project=PROJECT ^
        --source=SOURCE ^
        --package=PACKAGE ^
        --version=VERSION ^
        --location=LOCATION ^
        --repository=REPOSITORY
    Beim Hochladen von Artefakten können Sie zusätzliche Flags verwenden:
    • --destination-path=PATH zum Hochladen in einen bestimmten Ordner im Paket und Version. Außerdem werden Ordner erstellt, die nicht vorhanden sind.
    • --source-directory=SOURCE_DIR als Ersatz für --source und laden Sie statt einer einzelnen Datei ein Verzeichnis hoch.
    • --skip-existing, wenn Sie das Flag --source-directory zum Überspringen verwenden bereits vorhandenen Dateien. Andernfalls schlägt der Befehl fehl, wenn versucht wird, eine Datei hochzuladen, die existiert bereits.

    API

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT ist Ihre Google Cloud-Projekt-ID. Wenn Ihre Projekt-ID einen Doppelpunkt (:) enthält, lesen Sie die Informationen unter Auf Domains beschränkte Projekte
    • LOCATION ist der regionale oder multiregionale Speicherort des Repositorys.
    • REPOSITORY ist der Name des Repository, in dem das Artefakt gespeichert ist.
    • SOURCE ist der Standort und der Name von der hochzuladenden Datei.
    • PACKAGE ist der Paketname des Datei, die Sie hochladen.
    • VERSION ist die Version der Datei, die Sie die gerade hochgeladen werden.
    • NAME ist der neue Name der Datei im Repository.

    HTTP-Methode und URL:

      POST https://artifactregistry.googleapis.com/upload/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/genericArtifacts:create?alt=json
    

    curl (Linux, macOS oder Cloud Shell)

    Führen Sie den folgenden Befehl aus, um Ihre Anfrage zu senden:

      curl -v \
          -H "Authorization: Bearer $(gcloud auth print-access-token)" \
          -F "meta={'filename':'NAME','package_id':'PACKAGE','version_id':'VERSION'};type=application/json" \
          -F "blob=@SOURCE" \
          https://artifactregistry.googleapis.com/upload/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSTIORY/genericArtifacts:create?alt=json
    

    Artefakte auflisten

    Console

    Artefakte für Repositories im generischen Format finden Sie in der Google Cloud Console

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

      Zur Seite „Repositories“

    2. Wählen Sie das Repository aus der Repository-Liste aus.

    3. Klicken Sie auf den Namen des Pakets.

    4. Wenn Sie herunterladbare Dateien für alle Paketversionen aufrufen möchten, klicken Sie auf den Tab Dateien.

    5. Um herunterladbare Dateien für eine bestimmte Version Ihres Pakets anzuzeigen, klicken Sie auf den Versionsnamen und klicken Sie dann auf den Tab Dateien.

    gcloud

    Mit dem Befehl gcloud artifacts files list können Sie Artefakte in einem Repository auflisten.

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud artifacts files list \
        --project=PROJECT \
        --location=LOCATION \
        --repository=REPOSITORY

    Windows (PowerShell)

    gcloud artifacts files list `
        --project=PROJECT `
        --location=LOCATION `
        --repository=REPOSITORY

    Windows (cmd.exe)

    gcloud artifacts files list ^
        --project=PROJECT ^
        --location=LOCATION ^
        --repository=REPOSITORY
    Die Antwort enthält die Dateidetails im Format PACKAGE:VERSION:NAME.
    FILE: my-package:1.0.0:hello.yaml
    CREATE_TIME: 2023-03-09T20:55:07
    UPDATE_TIME: 2023-03-09T20:55:07
    SIZE (MB): 0.000
    OWNER: projects/my-project/locations/us-central1/repositories/quickstart-generic-repo/packages/my-package/versions/1.0.0
    

    Es ist auch möglich, nach Version und Paket zu sortieren, indem Sie eines oder beide der folgende Flags verwenden:

    • --package=PACKAGE, um nur Dateien eines bestimmten Paket.
    • --version=VERSION, um nur Dateien einer bestimmten Version anzuzeigen.

    Generische Artefakte herunterladen

    Führen Sie den folgenden Befehl aus, um generische Artefakte aus Ihrem Repository herunterzuladen:

    gcloud

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • DESTINATION: der Pfad zum Zielordner in Ihrem lokalen Dateisystem. Der Zielordner muss bereits vorhanden sein, da der Befehl sonst fehlschlägt.
    • LOCATION: der regionale oder multiregionale Speicherort des Repositories.
    • REPOSITORY: Der Name des Repositorys, in dem das Artefakt gespeichert ist.
    • PACKAGE: das Paket der Datei, die heruntergeladen werden soll.
    • VERSION: Die Version der herunterzuladenden Datei.
    • NAME (optional): Der Name der herunterzuladenden Datei. Ohne dieses Flag werden alle Dateien für das angegebene Paket und die angegebene Version heruntergeladen und die erforderlichen Verzeichnisse im Ziel erstellt.

    Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud artifacts generic download \
        --destination=DESTINATION \
        --location=LOCATION \
        --repository=REPOSITORY \
        --package=PACKAGE \
        --version=VERSION \
        --name=NAME

    Windows (PowerShell)

    gcloud artifacts generic download `
        --destination=DESTINATION `
        --location=LOCATION `
        --repository=REPOSITORY `
        --package=PACKAGE `
        --version=VERSION `
        --name=NAME

    Windows (cmd.exe)

    gcloud artifacts generic download ^
        --destination=DESTINATION ^
        --location=LOCATION ^
        --repository=REPOSITORY ^
        --package=PACKAGE ^
        --version=VERSION ^
        --name=NAME

    API

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT: Ihre Google Cloud-Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (:) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.
    • LOCATION: der regionale oder multiregionale Speicherort des Repositorys.
    • REPOSITORY: der Name des Repositorys wo das Artefakt gespeichert ist.
    • DESTINATION: der Pfad zum Zielordner in Ihrem lokalen Dateisystem. Der Zielordner muss bereits vorhanden sein oder der schlägt fehl.
    • FILE: der URL-codierte Dateiname. Sie können diesen Wert ermitteln, indem Sie den Befehl gcloud artifacts files list ausführen und den Wert für FILE kopieren. Für diesen Befehl muss es in das URL-codierte Format umgewandelt werden. Beispiel: path/to/file.jar muss als path%2Fto%2Ffile.jar eingegeben werden.

    HTTP-Methode und URL:

    GET https://artifactregistry.googleapis.com/download/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/files/FILE:download?alt=media

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Der Download sollte sofort beginnen.

    Generische Artefakte löschen

    Führen Sie den Befehl gcloud artifacts files delete aus, um generische Artefakte aus Ihrem Repository zu löschen. Dieser Befehl ist nur für Repositories mit generischen Formaten verfügbar.

    Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • FILE: der vollständige Dateiname. Sie können diesen Wert ermitteln, indem Sie den Befehl gcloud artifacts files list ausführen und den Wert für FILE kopieren.
    • LOCATION: der regionale oder multiregionale Speicherort des Repositories.
    • REPOSITORY: Der Name des Repositorys, in dem das Artefakt gespeichert ist.

    Führen Sie folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud artifacts files delete \
        FILE \
        --location=LOCATION \
        --repository=REPOSITORY

    Windows (PowerShell)

    gcloud artifacts files delete `
        FILE `
        --location=LOCATION `
        --repository=REPOSITORY

    Windows (cmd.exe)

    gcloud artifacts files delete ^
        FILE ^
        --location=LOCATION ^
        --repository=REPOSITORY

    Nächste Schritte