Gli allegati sono artefatti OCI e possono essere archiviati solo in repository in formato Docker.
Prima di iniziare
- Se non ne hai già uno, crea un repository standard in formato Docker.
- (Facoltativo) Configura i valori predefiniti per i comandi Google Cloud CLI.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire gli allegati, chiedi all'amministratore di concederti i seguenti ruoli IAM nel repository:
-
Visualizza e scarica gli allegati:
Artifact Registry Reader (
roles/artifactregistry.reader
) -
Crea allegati:
Artifact Registry Writer (
roles/artifactregistry.writer
) -
Eliminare gli allegati:
Amministratore del repository Artifact Registry (
roles/artifactregistry.repoAdmin
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
(Facoltativo) Configurare Oras
Oltre a utilizzare gcloud CLI, facoltativamente puoi utilizzare Oras per creare, elencare e scaricare gli allegati.
Installa Oras 1.2 o versioni successive. Per verificare la versione, esegui il comando
oras version
.Configura Oras per eseguire l'autenticazione con Artifact Registry.
Creare allegati
Puoi creare un allegato utilizzando gcloud CLI o Oras.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
ATTACHMENT
: il nome completo dell'allegato. Ad esempio,projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. In alternativa, fornisci solo l'ID allegato e utilizza i flag--location
e--repository
.TARGET
: il nome completo della versione oppure l'URI di Artifact Registry dell'artefatto a cui farà riferimento l'allegato. Puoi utilizzare il digest o il tag. Ad esempio,us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
.TYPE
: attributotype
dell'allegato. Deve essere conforme alle specifiche OCI per la proprietàartifactType
.ATTACHMENT_NAMESPACE
: una variabile specifica per gli allegati che identifica l'origine dati degli allegati. Ad esempio,example.com
.FILES
: un elenco separato da virgole di file locali da includere nell'allegato.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud artifacts attachments create ATTACHMENT \ --target=TARGET \ --attachment-type=TYPE \ --attachment-namespace=ATTACHMENT_NAMESPACE \ --files=FILES
Windows (PowerShell)
gcloud artifacts attachments create ATTACHMENT ` --target=TARGET ` --attachment-type=TYPE ` --attachment-namespace=ATTACHMENT_NAMESPACE ` --files=FILES
Windows (cmd.exe)
gcloud artifacts attachments create ATTACHMENT ^ --target=TARGET ^ --attachment-type=TYPE ^ --attachment-namespace=ATTACHMENT_NAMESPACE ^ --files=FILES
gcloud artifacts attachments create
.
Oras
Quando crei un allegato con Oras, Artifact Registry genera un UUID random da utilizzare come nome dell'allegato.
Prima di eseguire il comando, effettua le seguenti sostituzioni:
ARTIFACT_TYPE
: ilartifactType
dell'allegato.IMAGE_URI
: l'URI per il contenitore dell'immagine a cui fa riferimento l'allegato.FILE
: un file locale da includere come metadati nell'allegato.MEDIA_TYPE
: ilmediaType
del livello.
oras attach --artifact-type ARTIFACT_TYPE IMAGE_URI FILE:MEDIA_TYPE
L'esempio seguente crea un allegato costituito da un file, hello-world.txt
, che fa riferimento a un'immagine contenitore, my-image
, identificata dall'URI e dal tag:
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
Dove:
doc/example
definisce la proprietàartifactType
dell'allegato.us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
è l'URI che include il tag della versione dell'immagine del container a cui farà riferimento l'allegato.hello-world.txt
è il file locale che l'allegato conterrà come dati.application/vnd.me.hi
definisce ilmediaType
del livello.
Per una guida completa e altri esempi, consulta la documentazione di oras attach
.
Allegati elenco
Un'immagine container può avere un numero illimitato di allegati che fanno riferimento a essa. Puoi elencare gli allegati utilizzando la console Google Cloud, la CLI gcloud o Oras.
Console
Nella console Google Cloud, apri la pagina Repositori.
Fai clic sul nome del repository per visualizzare le immagini al suo interno.
Per visualizzare le versioni di un'immagine, fai clic sul nome dell'immagine.
Fai clic sulla versione dell'immagine appropriata.
Per visualizzare gli allegati della versione, fai clic sulla scheda Allegati.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
TARGET
: il nome completo della versione oppure l'URI di Artifact Registry dell'artefatto per cui vuoi elencare gli allegati. Puoi utilizzare il digest o il tag. Ad esempio,us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
.
Esegui il seguente comando:
Linux, macOS o 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
Prima di eseguire il comando, esegui la seguente sostituzione:
IMAGE_URI
: l'URI dell'immagine di destinazione a cui fanno riferimento gli eventuali allegati elencati.
oras discover --distribution-spec v1.1-referrers-api IMAGE_URI
L'esempio seguente elenca gli allegati per un'immagine container, my-image
, identificata dall'URI e dal tag:
oras discover --distribution-spec v1.1-referrers-api \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
Dove:
v1.1-referrers-api
è l'API Referrer utilizzata. Per ulteriori informazioni, consulta i dettagli nella specifica di distribuzione.us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
è l'URI che include il tag della versione dell'immagine del container per cui elencare gli allegati.
Per una guida completa e altri esempi, consulta la documentazione di oras discover
.
Scaricare gli allegati
Puoi scaricare gli allegati utilizzando gcloud CLI o Oras.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
ATTACHMENT
: il nome completo dell'allegato. Ad esempio,projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. In alternativa, fornisci qui solo l'ID allegato e utilizza i flag--location
e--repository
.DESTINATION
: il percorso nel sistema di file locale in cui scaricare l'allegato.
Esegui il seguente comando:
Linux, macOS o 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
, puoi fornire il flag --oci-version-name
seguito dal nome della versione completa dell'allegato o dall'URI del Registry degli elementi. Puoi utilizzare il digest o il tag. Ad esempio,
projects/my-project/locations/us-west1/repositories/my-repo/packages/my-package/versions/sha256:abc123
.Per ulteriori informazioni, consulta il comando
gcloud artifacts attachments download
.
Oras
Prima di eseguire il comando, effettua le seguenti sostituzioni:
DESTINATION
: la directory di destinazione dell'allegato.ATTACHMENT_URI
: l'URI dell'allegato da scaricare. Si tratta dell'URI del contenitore dell'immagine a cui fa riferimento l'allegato, seguito dall'SHA univoco dell'allegato.
oras pull -o DESTINATION ATTACHMENT_URI
L'esempio seguente scarica un allegato identificato dal relativo URI e digest:
oras pull -o . us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx
Dove:
-o .
assegna il nome della directory corrente come destinazione del download.us-west1-docker.pkg.dev/my-project/my-repo/my-image@sha256:xxxx
è l'URI dell'immagine che include il digest dell'allegato da scaricare.
Per una guida completa e altri esempi, consulta la documentazione di oras pull
.
Eliminare gli allegati
Puoi eliminare gli allegati direttamente utilizzando la console Google Cloud o l'interfaccia a riga di comando gcloud. Puoi eliminare gli allegati indirettamente eliminando l'immagine del contenitore a cui fanno riferimento.
Eliminare direttamente gli allegati
Puoi eliminare direttamente gli allegati con una delle seguenti opzioni:
Console
Nella console Google Cloud, apri la pagina Repositori.
Fai clic sul nome del repository per visualizzare le immagini al suo interno.
Fai clic sul nome dell'immagine per visualizzarne le versioni.
Fai clic sulla versione dell'immagine per cui vuoi visualizzare gli allegati.
Fai clic sulla scheda Allegati per visualizzare gli allegati della versione.
Fai clic sul digest dell'allegato da eliminare.
Fai clic su ELIMINA.
Nella finestra di dialogo di conferma, fai clic su ELIMINA.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
ATTACHMENT
: il nome completo dell'allegato. Ad esempio,projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. In alternativa, fornisci qui solo l'ID allegato e utilizza i flag--location
e--repository
.
Esegui il seguente comando:
Linux, macOS o 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
.
Eliminare gli allegati indirettamente
Se un'immagine del contenitore viene eliminata, vengono eliminati anche tutti gli allegati di riferimento. Questo vale sia per l'eliminazione manuale delle immagini contenitore sia per le eliminazioni causate dai criteri di pulizia.