Anhänge sind OCI-Artefakte und können nur in Repositories im Docker-Format gespeichert werden.
Hinweise
- Wenn Sie noch keins haben, erstellen Sie ein Standard-Repository im Docker-Format.
- Optional: Konfigurieren Sie die 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 von Anhängen benötigen:
-
Anhänge ansehen und herunterladen:
Artifact Registry-Leser (
roles/artifactregistry.reader
) -
Anhänge erstellen:
Artifact Registry-Writer (
roles/artifactregistry.writer
) -
Anhänge löschen:
Repository-Administrator für Artifact Registry (
roles/artifactregistry.repoAdmin
)
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.
Oras einrichten (optional)
Zusätzlich zur gcloud CLI können Sie auch Oras verwenden, um Anhänge zu erstellen, aufzulisten und herunterzuladen.
Installieren Sie Oras 1.2 oder höher. Führen Sie den Befehl
oras version
aus, um die Version zu prüfen.Konfigurieren Sie Oras für die Authentifizierung bei Artifact Registry.
Anhänge erstellen
Sie können einen Anhang mit der gcloud CLI oder Oras erstellen.
gcloud
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
ATTACHMENT
: der voll qualifizierte Name des Anhangs. Beispiel:projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. Alternativ können Sie nur die Anhangs-ID angeben und die Flags--location
und--repository
verwenden.TARGET
: Der vollständige Versionsname oder der Artifact Registry-URI des Artefakts, auf das sich der Anhang bezieht. Sie können entweder den Digest oder das Tag verwenden. Beispiel:us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
.TYPE
: dastype
-Attribut des Anhangs. Dies muss den OCI-Spezifikationen für das AttributartifactType
entsprechen.ATTACHMENT_NAMESPACE
: Eine anhängespezifische Variable, die die Datenquelle des Anhangs angibt. Beispiel:example.com
.FILES
: eine durch Kommas getrennte Liste lokaler Dateien, die in den Anhang aufgenommen werden sollen.
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud artifacts attachments create ATTACHMENT \ --target=TARGET \ --type=TYPE \ --attachment-namespace=ATTACHMENT_NAMESPACE \ --files=FILES
Windows (PowerShell)
gcloud artifacts attachments create ATTACHMENT ` --target=TARGET ` --type=TYPE ` --attachment-namespace=ATTACHMENT_NAMESPACE ` --files=FILES
Windows (cmd.exe)
gcloud artifacts attachments create ATTACHMENT ^ --target=TARGET ^ --type=TYPE ^ --attachment-namespace=ATTACHMENT_NAMESPACE ^ --files=FILES
gcloud artifacts attachments create
.
Oras
Wenn Sie einen Anhang mit Oras erstellen, generiert Artifact Registry eine zufällige UUID, die als Anhangsname verwendet wird.
Bevor Sie den Befehl ausführen, ersetzen Sie die folgenden Werte:
ARTIFACT_TYPE
: dieartifactType
des Anhangs.IMAGE_URI
: Der URI des Bildcontainers, auf den sich der Anhang bezieht.FILE
: Eine lokale Datei, die als Metadaten in den Anhang aufgenommen werden soll.MEDIA_TYPE
: diemediaType
der Ebene.
oras attach --artifact-type ARTIFACT_TYPE IMAGE_URI FILE:MEDIA_TYPE
Im folgenden Beispiel wird ein Anhang aus einer Datei (hello-world.txt
) erstellt, die sich auf ein Container-Image (my-image
) bezieht, das durch seinen URI und sein Tag identifiziert wird:
oras attach --artifact-type doc/example \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 \
hello-world.txt:application/vnd.me.hi
Wobei:
doc/example
definiert dieartifactType
-Eigenschaft des Anhangs.us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
ist der URI mit dem Tag der Container-Image-Version, auf die der Anhang verweist.hello-world.txt
ist die lokale Datei, die die Daten des Anhangs enthält.application/vnd.me.hi
definiert diemediaType
der Ebene.
Eine vollständige Anleitung und weitere Beispiele finden Sie in der oras attach
-Dokumentation.
Listenanhänge
Ein Container-Image kann beliebig viele Anhänge haben, die sich darauf beziehen. Sie können Anhänge mit der Google Cloud -Console, der gcloud CLI oder Oras auflisten.
Console
Öffnen Sie in der Google Cloud -Console die Seite Repositories.
Klicken Sie auf den Namen des Repositorys, um die Images in Ihrem Repository aufzurufen.
Klicken Sie auf den Namen des Bildes, um die Versionen aufzurufen.
Klicken Sie auf die gewünschte Bildversion.
Klicken Sie auf den Tab Anhänge, um die Anhänge für diese Version aufzurufen.
gcloud
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
TARGET
: der voll qualifizierte Versionsname oder der Artifact Registry-URI des Artefakts, für das Sie Anhänge auflisten möchten. Sie können entweder den Digest oder das Tag verwenden. Beispiel:us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
.
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud artifacts attachments list \ --target=TARGET
Windows (PowerShell)
gcloud artifacts attachments list ` --target=TARGET
Windows (cmd.exe)
gcloud artifacts attachments list ^ --target=TARGET
gcloud artifacts attachments list
.
Oras
Bevor Sie den Befehl ausführen, ersetzen Sie die folgenden Werte:
IMAGE_URI
: Der URI des Zielbilds, auf das alle aufgeführten Anhänge verweisen.
oras discover --distribution-spec v1.1-referrers-api IMAGE_URI
Im folgenden Beispiel sind Anhänge für ein Container-Image my-image
aufgeführt, das anhand seines URI und Tags identifiziert wird:
oras discover --distribution-spec v1.1-referrers-api \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
Wobei:
v1.1-referrers-api
ist die verwendete Referrer API. Weitere Informationen finden Sie in der Verteilungsspezifikation.us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
ist der URI mit dem Tag der Container-Image-Version, für die Anhänge aufgelistet werden sollen.
Eine vollständige Anleitung und weitere Beispiele finden Sie in der oras discover
-Dokumentation.
Anhänge herunterladen
Sie können Anhänge mit der gcloud CLI oder Oras herunterladen.
gcloud
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
ATTACHMENT
: der voll qualifizierte Name des Anhangs. Beispiel:projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. Alternativ können Sie hier nur die Anhang-ID angeben und die Flags--location
und--repository
verwenden.DESTINATION
: Der Pfad in Ihrem lokalen Dateisystem, unter dem der Anhang heruntergeladen werden soll.
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud artifacts attachments download ATTACHMENT \ --destination=DESTINATION
Windows (PowerShell)
gcloud artifacts attachments download ATTACHMENT ` --destination=DESTINATION
Windows (cmd.exe)
gcloud artifacts attachments download ATTACHMENT ^ --destination=DESTINATION
ATTACHMENT
können Sie das Flag --oci-version-name
gefolgt vom vollständigen Versionsnamen oder dem Artifact Registry-URI des Anhangs angeben. Sie können entweder den Digest oder das Tag verwenden. Beispiel: projects/my-project/locations/us-west1/repositories/my-repo/packages/my-package/versions/sha256:abc123
.Weitere Informationen finden Sie im Hilfeartikel zum Befehl
gcloud artifacts attachments download
.
Oras
Bevor Sie den Befehl ausführen, ersetzen Sie die folgenden Werte:
DESTINATION
: das Zielverzeichnis für den Anhang.ATTACHMENT_URI
: Der URI des Anhangs, der heruntergeladen werden soll. Dies ist der URI für den Image-Container, auf den sich der Anhang bezieht, gefolgt von der eindeutigen SHA des Anhangs.
oras pull -o DESTINATION ATTACHMENT_URI
Im folgenden Beispiel wird ein Anhang heruntergeladen, der anhand seines URI und seines Digests identifiziert wird:
oras pull -o . us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx
Wobei:
-o .
gibt das aktuelle Verzeichnis als Downloadziel an.us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx
ist der Bild-URI mit dem Hashwert des herunterzuladenden Anhangs.
Eine vollständige Anleitung und weitere Beispiele finden Sie in der oras pull
-Dokumentation.
Anhänge löschen
Sie können Anhänge direkt über die Google Cloud -Konsole oder die gcloud CLI löschen. Sie können Anhänge indirekt löschen, indem Sie das Container-Image löschen, auf das sie verweisen.
Anhänge direkt löschen
Sie haben folgende Möglichkeiten, Anhänge direkt zu löschen:
Console
Öffnen Sie in der Google Cloud -Console die Seite Repositories.
Klicken Sie auf den Namen des Repositorys, um die Images in Ihrem Repository aufzurufen.
Klicken Sie auf den Image-Namen, um die Versionen des Images aufzurufen.
Klicken Sie auf die Version des Bildes, für die Sie Anhänge sehen möchten.
Klicken Sie auf den Tab Anhänge, um die Anhänge für diese Version aufzurufen.
Klicken Sie auf den Digest des Anhangs, den Sie löschen möchten.
Klicken Sie auf Delete.
Klicken Sie im Bestätigungsdialogfeld auf LÖSCHEN.
gcloud
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
ATTACHMENT
: der voll qualifizierte Name des Anhangs. Beispiel:projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. Alternativ können Sie hier nur die Anhang-ID angeben und die Flags--location
und--repository
verwenden.
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud artifacts attachments delete ATTACHMENT
Windows (PowerShell)
gcloud artifacts attachments delete ATTACHMENT
Windows (cmd.exe)
gcloud artifacts attachments delete ATTACHMENT
gcloud artifacts attachments list
.
Anhänge indirekt löschen
Wenn ein Container-Image gelöscht wird, werden auch alle zugehörigen Anhänge gelöscht. Dies gilt sowohl für das manuelle Löschen von Container-Images als auch für Löschungen aufgrund von Bereinigungsrichtlinien.