Auf dieser Seite wird beschrieben, wie versionierte, unveränderliche Artefakte, die keinem bestimmten Paketformat entsprechen, in Repositories für generische Artifact Registry-Formate gespeichert werden.
Sehen Sie sich die quickstart an, um sich mit dem Speichern generischer Artefakte in Artifact Registry vertraut zu machen.
Generische Artefakte sind Dateien beliebiger Formate, einschließlich, aber nicht beschränkt auf:
- Komprimierte Dateien wie TAR-Dateien und ZIP-Dateien
- Konfigurationsdateien, z. B. YAML- und TOML-Dateien
- Textdateien und PDFs
- Binärprogramme
- Archive
- Mediendateien
Im Gegensatz zu anderen Formaten sind Artefakte, die in generischen Format-Repositories gespeichert sind, nicht für die Verwendung von Docker, Paketmanagern oder anderen Clients von Drittanbietern vorgesehen.
Hinweise
- Erstellen Sie ein Repository im generischen Format.
- Prüfen Sie, ob Sie die erforderlichen Berechtigungen für das Repository haben.
- (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 zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Verwalten generischer Artefakte benötigen:
-
Artefakte ansehen:
Artifact Registry-Leser (
roles/artifactregistry.reader
) -
Artefakte herunterladen:
Artifact Registry-Leser (
roles/artifactregistry.reader
) -
Laden Sie Artefakte in ein Repository hoch:
Artifact Registry-Autor (
roles/artifactregistry.writer
) -
Artefakte löschen:
Artifact Registry-Repository-Administrator (
roles/artifactregistry.repoAdmin
)
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.
Allgemeine Artefakte hochladen
Sie können generische Artefakte einzeln als Datei oder in mehreren nach Verzeichnis hochladen. Beim Hochladen müssen ein Paketname und eine Versionsnummer angegeben werden. Sie können auch den Pfad in der Zieldateistruktur angeben, in den sie hochgeladen werden sollen. Wenn kein Zielpfad angegeben ist, werden Artefakte standardmäßig auf die Stammebene hochgeladen.
Führen Sie den folgenden Befehl aus, um generische Artefakte in Ihr Repository hochzuladen:
gcloud
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
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 Standort des Repositorys.REPOSITORY
: der Name des Repositorys, in dem das Artefakt gespeichert ist.SOURCE
: Speicherort und Name der Datei, die Sie hochladen.PACKAGE
: der Paketname der Datei, die Sie hochladen.VERSION
: die Version der Datei, die Sie hochladen.Führen Sie den folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud artifacts generic upload \ --projectPROJECT \ --source=SOURCE \ --package=PACKAGE \ --version=VERSION \ --location=LOCATION \ --repository=REPOSITORY
Windows (PowerShell)
gcloud artifacts generic upload ` --projectPROJECT ` --source=SOURCE ` --package=PACKAGE ` --version=VERSION ` --location=LOCATION ` --repository=REPOSITORY
Windows (cmd.exe)
gcloud artifacts generic upload ^ --projectPROJECT ^ --source=SOURCE ^ --package=PACKAGE ^ --version=VERSION ^ --location=LOCATION ^ --repository=REPOSITORY
--destination-path=PATH
zum Hochladen in einen bestimmten Ordner innerhalb des Pakets und der Version Außerdem werden alle nicht vorhandenen Ordner erstellt.--source-directory=SOURCE_DIR
, um das Flag--source
zu ersetzen und ein Verzeichnis anstelle einer einzelnen Datei hochzuladen.--skip-existing
, wenn Sie mit dem Flag--source-directory
bereits vorhandene Dateien überspringen. Andernfalls schlägt der Befehl fehl, wenn versucht wird, eine bereits vorhandene Datei hochzuladen.
API
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT ist Ihre Google Cloud-Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (
:
) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte. - LOCATION ist der regionale oder multiregionale Standort des Repositorys.
- REPOSITORY ist der Name des Repositorys, in dem das Artefakt gespeichert ist.
- SOURCE ist der Speicherort und der Name der Datei, die Sie hochladen.
- PACKAGE ist der Paketname der Datei, die Sie hochladen.
- VERSION ist die Version der Datei, die Sie hochladen.
- NAME ist der neue Name der Datei im Repository.
HTTP-Methode und URL:
POST https://artifactregistry.googleapis.com/download/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
Mit dem Befehl gcloud artifacts files list
können Sie Artefakte in einem Repository auflisten.
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
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 Standort des Repositorys.REPOSITORY
: der Name des Repositorys, in dem das Artefakt gespeichert ist.
Führen Sie den 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
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
Sie können auch nach Version und Paket sortieren, indem Sie eines oder beide der folgenden Flags hinzufügen:
--package=PACKAGE
, um nur Dateien eines bestimmten Pakets anzuzeigen.--version=VERSION
, um nur Dateien einer bestimmten Version anzuzeigen.
Allgemeine Artefakte herunterladen
Führen Sie den folgenden Befehl aus, um generische Artefakte aus Ihrem Repository herunterzuladen:
gcloud
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
DESTINATION
: der Pfad zum Zielordner in Ihrem lokalen Dateisystem. Der Zielordner muss bereits vorhanden sein, andernfalls schlägt der Befehl fehl.LOCATION
: der regionale oder multiregionale Standort des Repositorys.REPOSITORY
: der Name des Repositorys, in dem das Artefakt gespeichert ist.PACKAGE
: das Paket der herunterzuladenden Datei.VERSION
: die Version der herunterzuladenden Datei.NAME
(optional): der Name der Datei, die heruntergeladen werden soll. Ohne dieses Flag lädt der Befehl alle Dateien für das angegebene Paket und die angegebene Version herunter und erstellt die erforderlichen Verzeichnisse im Ziel.
Führen Sie den 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
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
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 Standort des Repositorys.REPOSITORY
: der Name des Repositorys, in dem das Artefakt gespeichert ist.DESTINATION
: der Pfad zum Zielordner in Ihrem lokalen Dateisystem. Der Zielordner muss bereits vorhanden sein, andernfalls schlägt der Befehl fehl.FILE
: der URL-codierte Dateiname. Sie finden diesen Wert, indem Sie den Befehlgcloud artifacts files list
ausführen und den Wert fürFILE
kopieren. Er muss für diesen Befehl in ein URL-codiertes Format konvertiert werden, z. B. musspath/to/file.jar
alspath%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.Allgemeine 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.
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
FILE
: der vollständige Dateiname. Sie finden diesen Wert, indem Sie den Befehlgcloud artifacts files list
ausführen und den Wert fürFILE
kopieren.LOCATION
: der regionale oder multiregionale Standort des Repositorys.REPOSITORY
: der Name des Repositorys, in dem das Artefakt gespeichert ist.
Führen Sie den 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