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 tua 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.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
: il nome completo dell'allegato. Ad esempio,ATTACHMENT 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
.
: 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,TARGET us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1
.
: l'attributoTYPE type
dell'allegato. Deve essere conforme alle specifiche OCI per la proprietàartifactType
.
: una variabile specifica per gli allegati che identifica l'origine dati degli allegati. Ad esempio,ATTACHMENT_NAMESPACE example.com
.
: un elenco separato da virgole di file locali da includere nell'allegato.FILES
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud artifacts attachments createATTACHMENT \ --target=TARGET \ --attachment-type=TYPE \ --attachment-namespace=ATTACHMENT_NAMESPACE \ --files=FILES
Windows (PowerShell)
gcloud artifacts attachments createATTACHMENT ` --target=TARGET ` --attachment-type=TYPE ` --attachment-namespace=ATTACHMENT_NAMESPACE ` --files=FILES
Windows (cmd.exe)
gcloud artifacts attachments createATTACHMENT ^ --target=TARGET ^ --attachment-type=TYPE ^ --attachment-namespace=ATTACHMENT_NAMESPACE ^ --files=FILES
gcloud artifacts attachments create
.
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:
: ilARTIFACT_TYPE artifactType
dell'allegato.
: l'URI per il contenitore dell'immagine a cui fa riferimento l'allegato.IMAGE_URI
: un file locale da includere come metadati nell'allegato.FILE
: ilMEDIA_TYPE mediaType
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.
Nella console Google Cloud, apri la pagina Repositories (Repositoi).
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.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
: il nome completo della versione o l'URI di Artifact Registry dell'artefatto per cui vuoi elencare gli allegati. Puoi utilizzare il digest o il tag. Ad esempio,TARGET 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
.
Prima di eseguire il comando, effettua la seguente sostituzione:
: l'URI dell'immagine di destinazione a cui fanno riferimento gli eventuali allegati elencati.IMAGE_URI
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.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
: il nome completo dell'allegato. Ad esempio,ATTACHMENT projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. In alternativa, fornisci solo l'ID allegato qui e utilizza i flag--location
e--repository
.
: il percorso nel sistema di file locale in cui scaricare l'allegato.DESTINATION
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud artifacts attachments downloadATTACHMENT \ --destination=DESTINATION
Windows (PowerShell)
gcloud artifacts attachments downloadATTACHMENT ` --destination=DESTINATION
Windows (cmd.exe)
gcloud artifacts attachments downloadATTACHMENT ^ --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
.
Prima di eseguire il comando, effettua le seguenti sostituzioni:
: la directory di destinazione dell'allegato.DESTINATION
: 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.ATTACHMENT_URI
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 la CLI 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:
Nella console Google Cloud, apri la pagina Repositories (Repositoi).
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.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
: il nome completo dell'allegato. Ad esempio,ATTACHMENT projects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment
. In alternativa, fornisci solo l'ID allegato qui e utilizza i flag--location
e--repository
.
Esegui il seguente comando:
Linux, macOS o Cloud Shell
gcloud artifacts attachments deleteATTACHMENT
Windows (PowerShell)
gcloud artifacts attachments deleteATTACHMENT
Windows (cmd.exe)
gcloud artifacts attachments deleteATTACHMENT
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.