Questa pagina descrive come creare repository standard Artifact Registry.
I repository standard sono repository per i tuoi artefatti privati. Carica gli artefatti e scaricarli direttamente da questi repository.
Per alcuni formati di artefatti sono disponibili anche le seguenti modalità di repository:
- I repository remoti archiviano artefatti da origini esterne come come Docker Hub, Maven Central o PyPI.
- I repository virtuali fungono da unico punto di accesso da scaricare, installare o eseguire il deployment di artefatti che sono in upstream standard o remote repository.
Ogni repository può contenere artefatti per un singolo formato supportato.
Prima di iniziare
- Abilita Artifact Registry, tra cui l'abilitazione dell'API Artifact Registry e l'installazione di Google Cloud CLI.
- (Facoltativo) Configura i valori predefiniti per i comandi gcloud.
- Se sono necessarie chiavi di crittografia gestite dal cliente (CMEK) per criptare i contenuti del repository, creare e abilitare una chiave Cloud KMS per il repository.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare repository,
chiedi all'amministratore di concederti
Ruolo IAM Amministratore repository Artifact Registry (roles/artifactregistry.repoAdmin
) nel progetto Google Cloud.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.
Crea un repository standard
Quando crei un repository, devi configurare le seguenti impostazioni che non può essere modificato dopo la creazione del repository:
- Formato artefatto.
- Modalità repository, se sono disponibili più modalità per il formato selezionato.
- Posizione del repository.
- Crittografia con chiavi di proprietà e gestite da Google chiavi di crittografia gestite dal cliente. Artifact Registry utilizza Chiavi di crittografia di proprietà di Google e gestite da Google per impostazione predefinita.
Artifact Registry applica i vincoli dei criteri dell'organizzazione che richiedono una CMEK per criptare le risorse o limitare le risorse di Cloud KMS per la protezione CMEK.
Creare un repository utilizzando la console Google Cloud
Apri la pagina Repository nella console Google Cloud.
Fai clic su Crea repository.
Specifica il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.
Seleziona il formato del repository.
Se sono disponibili più modalità di repository, seleziona Standard.
Solo Maven: configura il criterio di versione.
Scegli un criterio di versione:
- Nessuno: nessun criterio di versione. Archivia pacchetti di release e snapshot.
- Release: consente di archiviare solo i pacchetti di release.
- Snapshot: consente di archiviare solo i pacchetti di snapshot.
Se vuoi che un repository di snapshot accetti snapshot non univoci che sovrascrivono le versioni esistenti nel repository, Consenti sovrascritture degli snapshot.
In Tipo di località, scegli la località del repository:
Scegli il tipo di località: Regione o Più regioni. L'elenco di le località cambiano in base alla selezione.
Nell'elenco Regione o Più regioni, seleziona una località.
Per informazioni sui tipi di località e sulle località supportate, vedi Località dei repository
Aggiungi una descrizione per il repository. Le descrizioni aiutano a identificare lo scopo del repository e il tipo di artefatti che contiene.
Non includere dati sensibili perché le descrizioni dei repository sono non è criptato.
Se vuoi utilizzare le etichette per organizzare fai clic su Aggiungi etichetta e inserisci la coppia chiave-valore dell'etichetta. Puoi aggiungere, modificare o rimuovere le etichette dopo aver creato repository Git.
Nella sezione Crittografia, scegli il meccanismo di crittografia per nel repository.
- Chiave gestita da Google: cripta i contenuti del repository con una Chiave di proprietà di Google e gestita da Google.
Chiave gestita dal cliente: cripta i contenuti del repository con una chiave che puoi controllare tramite Cloud Key Management Service. Per istruzioni sulla configurazione della chiave, consulta Configurazione di CMEK per i repository.
Per i repository Docker, l'impostazione Tag immagine immutabili configura al tuo repository per utilizzare tag immagine che puntano sempre alla stessa immagine digest. Un utente con il ruolo di amministratore di Artifact Registry può modificare l'impostazione dopo la creazione del repository.
- Per impostazione predefinita, questa opzione è disattivata. I tag immagine sono modificabili, ovvero il digest immagine a cui punta il tag può cambiare.
- Se questa impostazione è abilitata, i tag immagine sono immutabili. Un tag deve sempre puntano allo stesso digest immagine. Per scoprire di più sui tag immagine modificabili e immutabili, consulta Versioni immagine container.
Se vuoi utilizzare criteri di pulizia per eliminare gli artefatti inutilizzati, nella Sezione Criteri di pulizia:
- Seleziona Prova per testare il criterio prima di applicarlo.
- Fai clic su Aggiungi criterio per aggiungere un criterio di conservazione o di eliminazione al repository.
- Assegna al criterio di pulizia un nome descrittivo nel campo Nome.
Nella sezione Tipo di criterio, seleziona una delle seguenti opzioni:
- Eliminazione condizionale: elimina gli artefatti in base alle condizioni impostate definire.
- Conservazione condizionale: conserva gli artefatti in base alle condizioni che definisci.
Conserva le versioni più recenti: mantiene un numero specifico delle versioni più recenti o versioni successive per pacchetto.
Per maggiori dettagli sui criteri di pulizia, consulta Configura i criteri di pulizia.
Fai clic su Crea.
Artifact Registry crea il repository e lo aggiunge all'elenco di repository.
Dopo aver creato il repository:
- Concedi l'accesso al repository.
Configurare Docker, gestori di pacchetti e altri client di terze parti per eseguire l'autenticazione nei repository.
Crea un repository utilizzando Google Cloud CLI
Esegui il comando per creare un nuovo repository.
Apt
gcloud artifacts repositories create REPOSITORY \ --repository-format=apt \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Sostituisci quanto segue:
REPOSITORY
: il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.LOCATION
: il valore una o più regioni località del repository. Puoi ometti questo flag se imposti un valore default. Per visualizzare un elenco delle località supportate, esegui questo comando:gcloud artifacts locations list
DESCRIPTION
: una descrizione del repository. Azioni sconsigliate includere dati sensibili, poiché le descrizioni dei repository non sono criptate.KMS-KEY
: il percorso completo della crittografia di Cloud KMS se utilizzi una chiave di crittografia gestita dal cliente per crittografare i contenuti del repository. Il percorso ha il seguente formato:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Sostituisci quanto segue:
KMS-PROJECT
: il progetto in cui è archiviata la chiave.KMS-LOCATION
: la posizione della chiave.KEY-RING
: il nome del keyring.KEY
: il nome della chiave.
--async
restituisce immediatamente, senza attendere l'operazione tra l'avanzamento da completare.
Docker
gcloud artifacts repositories create REPOSITORY \
--repository-format=docker \
--location=LOCATION \
--description="DESCRIPTION" \
--kms-key=KMS-KEY \
--immutable-tags \
--async
Sostituisci quanto segue:
REPOSITORY
: il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.LOCATION
: il valore una o più regioni località del repository. Puoi ometti questo flag se imposti un valore default. Per visualizzare un elenco delle località supportate, esegui questo comando:gcloud artifacts locations list
DESCRIPTION
: una descrizione del repository. Azioni sconsigliate includere dati sensibili, poiché le descrizioni dei repository non sono criptate.KMS-KEY
: il percorso completo della crittografia di Cloud KMS se utilizzi una chiave di crittografia gestita dal cliente per crittografare i contenuti del repository. Il percorso ha il seguente formato:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Sostituisci quanto segue:
KMS-PROJECT
: il progetto in cui è archiviata la chiave.KMS-LOCATION
: la posizione della chiave.KEY-RING
: il nome del keyring.KEY
: il nome della chiave.
--immutable-tags
è un flag facoltativo che configura il tuo repository per usa tag che puntano sempre allo stesso digest immagine.Per impostazione predefinita, quando il flag
--immutable-tags
non viene passato, un tag può essere spostato in un altro digest immagine. Per scoprire di più su per i tag immagine immutabili e mutabili, consulta Versioni immagine container.--async
restituisce immediatamente, senza attendere l'operazione tra l'avanzamento da completare.
Generico
gcloud artifacts repositories create REPOSITORY \ --repository-format=generic \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Sostituisci quanto segue:
REPOSITORY
: il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.LOCATION
: il valore una o più regioni località del repository. Puoi ometti questo flag se imposti un valore default. Per visualizzare un elenco delle località supportate, esegui questo comando:gcloud artifacts locations list
DESCRIPTION
: una descrizione del repository. Azioni sconsigliate includere dati sensibili, poiché le descrizioni dei repository non sono criptate.KMS-KEY
: il percorso completo della crittografia di Cloud KMS se utilizzi una chiave di crittografia gestita dal cliente per crittografare i contenuti del repository. Il percorso ha il seguente formato:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Sostituisci quanto segue:
KMS-PROJECT
: il progetto in cui è archiviata la chiave.KMS-LOCATION
: la posizione della chiave.KEY-RING
: il nome del keyring.KEY
: il nome della chiave.
--async
restituisce immediatamente, senza attendere l'operazione tra l'avanzamento da completare.
Go
gcloud artifacts repositories create REPOSITORY \ --repository-format=go \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Sostituisci quanto segue:
REPOSITORY
: il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.LOCATION
: il valore una o più regioni località del repository. Puoi ometti questo flag se imposti un valore default. Per visualizzare un elenco delle località supportate, esegui questo comando:gcloud artifacts locations list
DESCRIPTION
: una descrizione del repository. Azioni sconsigliate includere dati sensibili, poiché le descrizioni dei repository non sono criptate.KMS-KEY
: il percorso completo della crittografia di Cloud KMS se utilizzi una chiave di crittografia gestita dal cliente per crittografare i contenuti del repository. Il percorso ha il seguente formato:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Sostituisci quanto segue:
KMS-PROJECT
: il progetto in cui è archiviata la chiave.KMS-LOCATION
: la posizione della chiave.KEY-RING
: il nome del keyring.KEY
: il nome della chiave.
--async
restituisce immediatamente, senza attendere l'operazione tra l'avanzamento da completare.
Pipeline KubeFlow
gcloud artifacts repositories create REPOSITORY \ --repository-format=kfp \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Sostituisci quanto segue:
REPOSITORY
: il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.LOCATION
: il valore una o più regioni località del repository. Puoi ometti questo flag se imposti un valore default. Per visualizzare un elenco delle località supportate, esegui questo comando:gcloud artifacts locations list
DESCRIPTION
: una descrizione del repository. Azioni sconsigliate includere dati sensibili, poiché le descrizioni dei repository non sono criptate.KMS-KEY
: il percorso completo della crittografia di Cloud KMS se utilizzi una chiave di crittografia gestita dal cliente per crittografare i contenuti del repository. Il percorso ha il seguente formato:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Sostituisci quanto segue:
KMS-PROJECT
: il progetto in cui è archiviata la chiave.KMS-LOCATION
: la posizione della chiave.KEY-RING
: il nome del keyring.KEY
: il nome della chiave.
--async
restituisce immediatamente, senza attendere l'operazione tra l'avanzamento da completare.
Maven
Per impostazione predefinita, i repository Maven archiviano entrambi snapshot e release dei pacchetti. Puoi specificare un per creare uno snapshot o un repository di release.
Per creare un repository in cui siano archiviati snapshot e release, esegui il comando :
gcloud artifacts repositories create REPOSITORY \ --repository-format=maven \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Sostituisci quanto segue:
REPOSITORY
: il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.LOCATION
: il valore una o più regioni località del repository. Puoi ometti questo flag se imposti un valore default. Per visualizzare un elenco delle località supportate, esegui questo comando:gcloud artifacts locations list
DESCRIPTION
: una descrizione del repository. Azioni sconsigliate includere dati sensibili, poiché le descrizioni dei repository non sono criptate.KMS-KEY
: il percorso completo della crittografia di Cloud KMS se utilizzi una chiave di crittografia gestita dal cliente per crittografare i contenuti del repository. Il percorso ha il seguente formato:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Sostituisci quanto segue:
KMS-PROJECT
: il progetto in cui è archiviata la chiave.KMS-LOCATION
: la posizione della chiave.KEY-RING
: il nome del keyring.KEY
: il nome della chiave.
--async
restituisce immediatamente, senza attendere l'operazione tra l'avanzamento da completare.Per archiviare versioni di snapshot e release in diverse , specifica il criterio di versione nel comando:
gcloud artifacts repositories create REPOSITORY \ --repository-format=maven \ [--location=LOCATION] \ [--description="DESCRIPTION"] \ [--kms-key=KMS-KEY] \ [--version-policy=VERSION-POLICY] \ [--allow-snapshot-overwrites] \ [--async] \
I seguenti flag sono specifici dei repository Maven:
--version-policy=VERSION-POLICY
- Specifica i tipi di pacchetti da archiviare nel repository. Puoi impostare VERSION-POLICY a:
None
: nessun criterio di versione. Archivia pacchetti di release e snapshot. Se non includi il flag--version-policy
nel comando, questa è l'impostazione predefinita.Release
- Archivia solo i pacchetti di release.Snapshot
: archivia solo i pacchetti di snapshot.
--allow-snapshot-overwrites
- Solo per i repository di snapshot. Se specifichi questo flag, pubblicare snapshot non univoci che sovrascrivono le versioni esistenti nel repository Git.
npm
gcloud artifacts repositories create REPOSITORY \ --repository-format=npm \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Sostituisci quanto segue:
REPOSITORY
: il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.LOCATION
: il valore una o più regioni località del repository. Puoi ometti questo flag se imposti un valore default. Per visualizzare un elenco delle località supportate, esegui questo comando:gcloud artifacts locations list
DESCRIPTION
: una descrizione del repository. Azioni sconsigliate includere dati sensibili, poiché le descrizioni dei repository non sono criptate.KMS-KEY
: il percorso completo della crittografia di Cloud KMS se utilizzi una chiave di crittografia gestita dal cliente per crittografare i contenuti del repository. Il percorso ha il seguente formato:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Sostituisci quanto segue:
KMS-PROJECT
: il progetto in cui è archiviata la chiave.KMS-LOCATION
: la posizione della chiave.KEY-RING
: il nome del keyring.KEY
: il nome della chiave.
--async
restituisce immediatamente, senza attendere l'operazione tra l'avanzamento da completare.
Python
gcloud artifacts repositories create REPOSITORY \ --repository-format=python \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Sostituisci quanto segue:
REPOSITORY
: il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.LOCATION
: il valore una o più regioni località del repository. Puoi ometti questo flag se imposti un valore default. Per visualizzare un elenco delle località supportate, esegui questo comando:gcloud artifacts locations list
DESCRIPTION
: una descrizione del repository. Azioni sconsigliate includere dati sensibili, poiché le descrizioni dei repository non sono criptate.KMS-KEY
: il percorso completo della crittografia di Cloud KMS se utilizzi una chiave di crittografia gestita dal cliente per crittografare i contenuti del repository. Il percorso ha il seguente formato:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Sostituisci quanto segue:
KMS-PROJECT
: il progetto in cui è archiviata la chiave.KMS-LOCATION
: la posizione della chiave.KEY-RING
: il nome del keyring.KEY
: il nome della chiave.
--async
restituisce immediatamente, senza attendere l'operazione tra l'avanzamento da completare.
Yum
gcloud artifacts repositories create REPOSITORY \ --repository-format=yum \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
Sostituisci quanto segue:
REPOSITORY
: il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.LOCATION
: il valore una o più regioni località del repository. Puoi ometti questo flag se imposti un valore default. Per visualizzare un elenco delle località supportate, esegui questo comando:gcloud artifacts locations list
DESCRIPTION
: una descrizione del repository. Azioni sconsigliate includere dati sensibili, poiché le descrizioni dei repository non sono criptate.KMS-KEY
: il percorso completo della crittografia di Cloud KMS se utilizzi una chiave di crittografia gestita dal cliente per crittografare i contenuti del repository. Il percorso ha il seguente formato:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
Sostituisci quanto segue:
KMS-PROJECT
: il progetto in cui è archiviata la chiave.KMS-LOCATION
: la posizione della chiave.KEY-RING
: il nome del keyring.KEY
: il nome della chiave.
--async
restituisce immediatamente, senza attendere l'operazione tra l'avanzamento da completare.
Artifact Registry crea il repository. Esegui questo comando per visualizzare una descrizione del repository:
gcloud artifacts repositories describe REPOSITORY \
--location=LOCATION
Dopo aver creato il repository:
- Concedi l'accesso al repository.
- Configura i criteri di pulizia per eliminare gli artefatti inutilizzati.
Configurare Docker, gestori di pacchetti e altri client di terze parti per eseguire l'autenticazione nei repository.
Crea un repository con Terraform
Usa la risorsa google_artifact_registry_repository
per creare repository.
Versione terraform-provider-google
È obbligatorio almeno 5.0.0
.
Se non hai mai utilizzato Terraform per Google Cloud, consulta Inizia - Google Cloud nella Sito web di HashiCorp.
L'esempio seguente definisce il provider e un repository con
Nome della risorsa Terraform my-repo
.
Apt
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "apt" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }
Sostituisci quanto segue:
PROJECT-ID
è l'ID del progetto Google Cloud.LOCATION
è la località del repository.REPOSITORY
è il nome del repository.DESCRIPTION
è la descrizione facoltativa del repository. Non includere dati sensibili, in quanto le descrizioni dei repository non è criptato.KEY
è il nome della chiave Cloud Key Management Service, se utilizzi chiavi di crittografia gestite dal cliente (CMEK) per la crittografia. Ometti questo argomento per utilizzare l'impostazione predefinita, la crittografia gestita da Google chiavi.DRY_RUN_STATUS
determina se i criteri di pulizia vengono eliminati artefatti o registra solo gli artefatti che verranno eliminati se l'impostazione di pulizia del repository. Ometti se non vuoi aggiungere i criteri di pulizia nel repository.true
: consente di impostare i criteri per l'esecuzione in modalità dry run. Nessun artefatto è eliminati in modalità dry run.false
: applica i criteri di pulizia. Gli artefatti vengono eliminati a seconda dei criteri.
Per maggiori informazioni sui criteri di pulizia, consulta Configura i criteri di pulizia.
POLICY_NAME
è il nome del criterio di pulizia.TAG_STATE
è lo stato del tag a cui applicare il criterio. Valori sonotagged
,untagged
eany
.any
si applica sia a tag che a artefatti senza tag. Se in un repository sono abilitati tag immutabili, gli artefatti non possono essere eliminati.TAG_PREFIX
,TAG_PREFIX_N
sono prefissi dei tag di per applicare il criterio.PKG_PREFIX
,PKG_PREFIX_N
sono prefissi del pacchetto a cui applicare il criterio.TIME_SINCE_UPLOAD
è il tempo trascorso dalla versione di un artefatto è stato caricato nel repository, specificato come durata. Puoi specificare durate di secondi, minuti, ore o giorni aggiungendos
,m
,h
, od
rispettivamente.KEEP_COUNT
è il numero di versioni di un artefatto da conservare nel repository.
Docker
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "docker" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }
Sostituisci quanto segue:
PROJECT-ID
è l'ID del progetto Google Cloud.LOCATION
è la località del repository.REPOSITORY
è il nome del repository.DESCRIPTION
è la descrizione facoltativa del repository. Non includere dati sensibili, in quanto le descrizioni dei repository non è criptato.KEY
è il nome della chiave Cloud Key Management Service, se utilizzi chiavi di crittografia gestite dal cliente (CMEK) per la crittografia. Ometti questo argomento per utilizzare l'impostazione predefinita, la crittografia gestita da Google chiavi.DRY_RUN_STATUS
determina se i criteri di pulizia vengono eliminati artefatti o registra solo gli artefatti che verranno eliminati se l'impostazione di pulizia del repository. Ometti se non vuoi aggiungere i criteri di pulizia nel repository.true
: consente di impostare i criteri per l'esecuzione in modalità dry run. Nessun artefatto è eliminati in modalità dry run.false
: applica i criteri di pulizia. Gli artefatti vengono eliminati a seconda dei criteri.
Per maggiori informazioni sui criteri di pulizia, consulta Configura i criteri di pulizia.
POLICY_NAME
è il nome del criterio di pulizia.TAG_STATE
è lo stato del tag a cui applicare il criterio. Valori sonotagged
,untagged
eany
.any
si applica sia a tag che a artefatti senza tag. Se in un repository sono abilitati tag immutabili, gli artefatti non possono essere eliminati.TAG_PREFIX
,TAG_PREFIX_N
sono prefissi dei tag di per applicare il criterio.PKG_PREFIX
,PKG_PREFIX_N
sono prefissi del pacchetto a cui applicare il criterio.TIME_SINCE_UPLOAD
è il tempo trascorso dalla versione di un artefatto è stato caricato nel repository, specificato come durata. Puoi specificare durate di secondi, minuti, ore o giorni aggiungendos
,m
,h
, od
rispettivamente.KEEP_COUNT
è il numero di versioni di un artefatto da conservare nel repository.
Generico
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "generic" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }
Sostituisci quanto segue:
PROJECT-ID
è l'ID del progetto Google Cloud.LOCATION
è la località del repository.REPOSITORY
è il nome del repository.DESCRIPTION
è la descrizione facoltativa del repository. Non includere dati sensibili, in quanto le descrizioni dei repository non è criptato.KEY
è il nome della chiave Cloud Key Management Service, se utilizzi chiavi di crittografia gestite dal cliente (CMEK) per la crittografia. Ometti questo argomento per utilizzare l'impostazione predefinita, la crittografia gestita da Google chiavi.DRY_RUN_STATUS
determina se i criteri di pulizia vengono eliminati artefatti o registra solo gli artefatti che verranno eliminati se l'impostazione di pulizia del repository. Ometti se non vuoi aggiungere i criteri di pulizia nel repository.true
: consente di impostare i criteri per l'esecuzione in modalità dry run. Nessun artefatto è eliminati in modalità dry run.false
: applica i criteri di pulizia. Gli artefatti vengono eliminati a seconda dei criteri.
Per maggiori informazioni sui criteri di pulizia, consulta Configura i criteri di pulizia.
POLICY_NAME
è il nome del criterio di pulizia.TAG_STATE
è lo stato del tag a cui applicare il criterio. Valori sonotagged
,untagged
eany
.any
si applica sia a tag che a artefatti senza tag. Se in un repository sono abilitati tag immutabili, gli artefatti non possono essere eliminati.TAG_PREFIX
,TAG_PREFIX_N
sono prefissi dei tag di per applicare il criterio.PKG_PREFIX
,PKG_PREFIX_N
sono prefissi del pacchetto a cui applicare il criterio.TIME_SINCE_UPLOAD
è il tempo trascorso dalla versione di un artefatto è stato caricato nel repository, specificato come durata. Puoi specificare durate di secondi, minuti, ore o giorni aggiungendos
,m
,h
, od
rispettivamente.KEEP_COUNT
è il numero di versioni di un artefatto da conservare nel repository.
Go
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "go" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }
Sostituisci quanto segue:
PROJECT-ID
è l'ID del progetto Google Cloud.LOCATION
è la località del repository.REPOSITORY
è il nome del repository.DESCRIPTION
è la descrizione facoltativa del repository. Non includere dati sensibili, in quanto le descrizioni dei repository non è criptato.KEY
è il nome della chiave Cloud Key Management Service, se utilizzi chiavi di crittografia gestite dal cliente (CMEK) per la crittografia. Ometti questo argomento per utilizzare l'impostazione predefinita, la crittografia gestita da Google chiavi.DRY_RUN_STATUS
determina se i criteri di pulizia vengono eliminati artefatti o registra solo gli artefatti che verranno eliminati se l'impostazione di pulizia del repository. Ometti se non vuoi aggiungere i criteri di pulizia nel repository.true
: consente di impostare i criteri per l'esecuzione in modalità dry run. Nessun artefatto è eliminati in modalità dry run.false
: applica i criteri di pulizia. Gli artefatti vengono eliminati a seconda dei criteri.
Per maggiori informazioni sui criteri di pulizia, consulta Configura i criteri di pulizia.
POLICY_NAME
è il nome del criterio di pulizia.TAG_STATE
è lo stato del tag a cui applicare il criterio. Valori sonotagged
,untagged
eany
.any
si applica sia a tag che a artefatti senza tag. Se in un repository sono abilitati tag immutabili, gli artefatti non possono essere eliminati.TAG_PREFIX
,TAG_PREFIX_N
sono prefissi dei tag di per applicare il criterio.PKG_PREFIX
,PKG_PREFIX_N
sono prefissi del pacchetto a cui applicare il criterio.TIME_SINCE_UPLOAD
è il tempo trascorso dalla versione di un artefatto è stato caricato nel repository, specificato come durata. Puoi specificare durate di secondi, minuti, ore o giorni aggiungendos
,m
,h
, od
rispettivamente.KEEP_COUNT
è il numero di versioni di un artefatto da conservare nel repository.
Pipeline KubeFlow
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "kfp" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }
Sostituisci quanto segue:
PROJECT-ID
è l'ID del progetto Google Cloud.LOCATION
è la località del repository.REPOSITORY
è il nome del repository.DESCRIPTION
è la descrizione facoltativa del repository. Non includere dati sensibili, in quanto le descrizioni dei repository non è criptato.KEY
è il nome della chiave Cloud Key Management Service, se utilizzi chiavi di crittografia gestite dal cliente (CMEK) per la crittografia. Ometti questo argomento per utilizzare l'impostazione predefinita, la crittografia gestita da Google chiavi.DRY_RUN_STATUS
determina se i criteri di pulizia vengono eliminati artefatti o registra solo gli artefatti che verranno eliminati se l'impostazione di pulizia del repository. Ometti se non vuoi aggiungere i criteri di pulizia nel repository.true
: consente di impostare i criteri per l'esecuzione in modalità dry run. Nessun artefatto è eliminati in modalità dry run.false
: applica i criteri di pulizia. Gli artefatti vengono eliminati a seconda dei criteri.
Per maggiori informazioni sui criteri di pulizia, consulta Configura i criteri di pulizia.
POLICY_NAME
è il nome del criterio di pulizia.TAG_STATE
è lo stato del tag a cui applicare il criterio. Valori sonotagged
,untagged
eany
.any
si applica sia a tag che a artefatti senza tag. Se in un repository sono abilitati tag immutabili, gli artefatti non possono essere eliminati.TAG_PREFIX
,TAG_PREFIX_N
sono prefissi dei tag di per applicare il criterio.PKG_PREFIX
,PKG_PREFIX_N
sono prefissi del pacchetto a cui applicare il criterio.TIME_SINCE_UPLOAD
è il tempo trascorso dalla versione di un artefatto è stato caricato nel repository, specificato come durata. Puoi specificare durate di secondi, minuti, ore o giorni aggiungendos
,m
,h
, od
rispettivamente.KEEP_COUNT
è il numero di versioni di un artefatto da conservare nel repository.
Maven
Se non specifichi un criterio di versione, Artifact Registry crea un Repository Maven in cui sono archiviati snapshot e release dei pacchetti per impostazione predefinita.
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "maven" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }
Sostituisci quanto segue:
PROJECT-ID
è l'ID del progetto Google Cloud.LOCATION
è la località del repository.REPOSITORY
è il nome del repository.DESCRIPTION
è la descrizione facoltativa del repository. Non includere dati sensibili, in quanto le descrizioni dei repository non è criptato.KEY
è il nome della chiave Cloud Key Management Service, se utilizzi chiavi di crittografia gestite dal cliente (CMEK) per la crittografia. Ometti questo argomento per utilizzare l'impostazione predefinita, la crittografia gestita da Google chiavi.DRY_RUN_STATUS
determina se i criteri di pulizia vengono eliminati artefatti o registra solo gli artefatti che verranno eliminati se l'impostazione di pulizia del repository. Ometti se non vuoi aggiungere i criteri di pulizia nel repository.true
: consente di impostare i criteri per l'esecuzione in modalità dry run. Nessun artefatto è eliminati in modalità dry run.false
: applica i criteri di pulizia. Gli artefatti vengono eliminati a seconda dei criteri.
Per maggiori informazioni sui criteri di pulizia, consulta Configura i criteri di pulizia.
POLICY_NAME
è il nome del criterio di pulizia.TAG_STATE
è lo stato del tag a cui applicare il criterio. Valori sonotagged
,untagged
eany
.any
si applica sia a tag che a artefatti senza tag. Se in un repository sono abilitati tag immutabili, gli artefatti non possono essere eliminati.TAG_PREFIX
,TAG_PREFIX_N
sono prefissi dei tag di per applicare il criterio.PKG_PREFIX
,PKG_PREFIX_N
sono prefissi del pacchetto a cui applicare il criterio.TIME_SINCE_UPLOAD
è il tempo trascorso dalla versione di un artefatto è stato caricato nel repository, specificato come durata. Puoi specificare durate di secondi, minuti, ore o giorni aggiungendos
,m
,h
, od
rispettivamente.KEEP_COUNT
è il numero di versioni di un artefatto da conservare nel repository.Per archiviare versioni di snapshot e release in diverse repository, specifica un criterio di versione utilizzando un blocco
maven_config
. Questo blocco supporta le seguenti impostazioni:version_policy
imposta il criterio di versione con uno dei seguenti valori:VERSION_POLICY_UNSPECIFIED
: archivia pacchetti di snapshot e di release. Questo è l'impostazione predefinita.- LANCIO: soltanto pacchetti release dello store.
- SNAPSHOT: archivia solo i pacchetti di snapshot.
allow_snapshot_overwrites
configura un repository con unSNAPSHOT
criterio di versione per accettare snapshot non univoci che sovrascrivono più versioni del repository.L'esempio seguente definisce un Repository Maven con una versione di release .
provider "google" { project = "my-project" } resource "google_artifact_registry_repository" "my-repo" { provider = google-beta location = "us-central1" repository_id = "my-repo" description = "Maven repository" format = "MAVEN" maven_config { version_policy = "RELEASE" } }
npm
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "npm" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }
Sostituisci quanto segue:
PROJECT-ID
è l'ID del progetto Google Cloud.LOCATION
è la località del repository.REPOSITORY
è il nome del repository.DESCRIPTION
è la descrizione facoltativa del repository. Non includere dati sensibili, in quanto le descrizioni dei repository non è criptato.KEY
è il nome della chiave Cloud Key Management Service, se utilizzi chiavi di crittografia gestite dal cliente (CMEK) per la crittografia. Ometti questo argomento per utilizzare l'impostazione predefinita, la crittografia gestita da Google chiavi.DRY_RUN_STATUS
determina se i criteri di pulizia vengono eliminati artefatti o registra solo gli artefatti che verranno eliminati se l'impostazione di pulizia del repository. Ometti se non vuoi aggiungere i criteri di pulizia nel repository.true
: consente di impostare i criteri per l'esecuzione in modalità dry run. Nessun artefatto è eliminati in modalità dry run.false
: applica i criteri di pulizia. Gli artefatti vengono eliminati a seconda dei criteri.
Per maggiori informazioni sui criteri di pulizia, consulta Configura i criteri di pulizia.
POLICY_NAME
è il nome del criterio di pulizia.TAG_STATE
è lo stato del tag a cui applicare il criterio. Valori sonotagged
,untagged
eany
.any
si applica sia a tag che a artefatti senza tag. Se in un repository sono abilitati tag immutabili, gli artefatti non possono essere eliminati.TAG_PREFIX
,TAG_PREFIX_N
sono prefissi dei tag di per applicare il criterio.PKG_PREFIX
,PKG_PREFIX_N
sono prefissi del pacchetto a cui applicare il criterio.TIME_SINCE_UPLOAD
è il tempo trascorso dalla versione di un artefatto è stato caricato nel repository, specificato come durata. Puoi specificare durate di secondi, minuti, ore o giorni aggiungendos
,m
,h
, od
rispettivamente.KEEP_COUNT
è il numero di versioni di un artefatto da conservare nel repository.
Python
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "python" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }
Sostituisci quanto segue:
PROJECT-ID
è l'ID del progetto Google Cloud.LOCATION
è la località del repository.REPOSITORY
è il nome del repository.DESCRIPTION
è la descrizione facoltativa del repository. Non includere dati sensibili, in quanto le descrizioni dei repository non è criptato.KEY
è il nome della chiave Cloud Key Management Service, se utilizzi chiavi di crittografia gestite dal cliente (CMEK) per la crittografia. Ometti questo argomento per utilizzare l'impostazione predefinita, la crittografia gestita da Google chiavi.DRY_RUN_STATUS
determina se i criteri di pulizia vengono eliminati artefatti o registra solo gli artefatti che verranno eliminati se l'impostazione di pulizia del repository. Ometti se non vuoi aggiungere i criteri di pulizia nel repository.true
: consente di impostare i criteri per l'esecuzione in modalità dry run. Nessun artefatto è eliminati in modalità dry run.false
: applica i criteri di pulizia. Gli artefatti vengono eliminati a seconda dei criteri.
Per maggiori informazioni sui criteri di pulizia, consulta Configura i criteri di pulizia.
POLICY_NAME
è il nome del criterio di pulizia.TAG_STATE
è lo stato del tag a cui applicare il criterio. Valori sonotagged
,untagged
eany
.any
si applica sia a tag che a artefatti senza tag. Se in un repository sono abilitati tag immutabili, gli artefatti non possono essere eliminati.TAG_PREFIX
,TAG_PREFIX_N
sono prefissi dei tag di per applicare il criterio.PKG_PREFIX
,PKG_PREFIX_N
sono prefissi del pacchetto a cui applicare il criterio.TIME_SINCE_UPLOAD
è il tempo trascorso dalla versione di un artefatto è stato caricato nel repository, specificato come durata. Puoi specificare durate di secondi, minuti, ore o giorni aggiungendos
,m
,h
, od
rispettivamente.KEEP_COUNT
è il numero di versioni di un artefatto da conservare nel repository.
Yum
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "yum" kms_key_name = "KEY" cleanup_policy_dry_run = DRY_RUN_STATUS cleanup_policies { id = "POLICY_NAME" action = "DELETE" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] older_than = "TIME_SINCE_UPLOAD" } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" condition { tag_state = "TAG_STATE" tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"] package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] } } cleanup_policies { id = "POLICY_NAME" action = "KEEP" most_recent_versions { package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"] keep_count = KEEP_COUNT } } }
Sostituisci quanto segue:
PROJECT-ID
è l'ID del progetto Google Cloud.LOCATION
è la località del repository.REPOSITORY
è il nome del repository.DESCRIPTION
è la descrizione facoltativa del repository. Non includere dati sensibili, in quanto le descrizioni dei repository non è criptato.KEY
è il nome della chiave Cloud Key Management Service, se utilizzi chiavi di crittografia gestite dal cliente (CMEK) per la crittografia. Ometti questo argomento per utilizzare l'impostazione predefinita, la crittografia gestita da Google chiavi.DRY_RUN_STATUS
determina se i criteri di pulizia vengono eliminati artefatti o registra solo gli artefatti che verranno eliminati se l'impostazione di pulizia del repository. Ometti se non vuoi aggiungere i criteri di pulizia nel repository.true
: consente di impostare i criteri per l'esecuzione in modalità dry run. Nessun artefatto è eliminati in modalità dry run.false
: applica i criteri di pulizia. Gli artefatti vengono eliminati a seconda dei criteri.
Per maggiori informazioni sui criteri di pulizia, consulta Configura i criteri di pulizia.
POLICY_NAME
è il nome del criterio di pulizia.TAG_STATE
è lo stato del tag a cui applicare il criterio. Valori sonotagged
,untagged
eany
.any
si applica sia a tag che a artefatti senza tag. Se in un repository sono abilitati tag immutabili, gli artefatti non possono essere eliminati.TAG_PREFIX
,TAG_PREFIX_N
sono prefissi dei tag di per applicare il criterio.PKG_PREFIX
,PKG_PREFIX_N
sono prefissi del pacchetto a cui applicare il criterio.TIME_SINCE_UPLOAD
è il tempo trascorso dalla versione di un artefatto è stato caricato nel repository, specificato come durata. Puoi specificare durate di secondi, minuti, ore o giorni aggiungendos
,m
,h
, od
rispettivamente.KEEP_COUNT
è il numero di versioni di un artefatto da conservare nel repository.
Artifact Registry crea il repository. Esegui questo comando per visualizzare una descrizione del repository:
gcloud artifacts repositories describe REPOSITORY \
--location=LOCATION
Dopo aver creato il repository:
- Concedi l'accesso al repository.
Configurare Docker, gestori di pacchetti e altri client di terze parti per eseguire l'autenticazione nei repository.
Modifica descrizioni repository
Puoi modificare la descrizione del repository dalla console Google Cloud oppure dal con gcloud CLI.
Console
Apri la pagina Repository nella console Google Cloud.
Nell'elenco dei repository, seleziona il repository e fai clic su Modifica repository:
Modifica la descrizione del repository e fai clic su Salva.
gcloud
Per aggiornare la descrizione del repository, esegui il comando:
gcloud artifacts repositories update REPOSITORY \
--project=PROJECT \
--location=LOCATION \
--description="DESCRIPTION"
Sostituisci quanto segue:
REPOSITORY
: il nome del repository. Se hai configurato predefinito, puoi omettere questo flag per usare il valore predefinito.PROJECT
: l'ID del progetto Google Cloud. Se questo flag viene omesso, in uso il progetto corrente o quello predefinito.LOCATION
: un una o più regioni località. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se configurato una località predefinita puoi omettere questo flag per usare quello predefinito.DESCRIPTION
: una descrizione del repository.