Questa pagina descrive come archiviare gli artefatti immutabili sottoposti al controllo delle versioni che non ottemperare a qualsiasi formato di pacchetto specifico nel formato generico di Artifact Registry repository.
Per acquisire familiarità con l'archiviazione di artefatti generici in Artifact Registry, puoi provare la guida rapida.
Gli elementi generici sono file di qualsiasi formato, inclusi, a titolo esemplificativo, i seguenti:
- File compressi, ad esempio file tar e zip
- File di configurazione, ad esempio file YAML e TOML
- File di testo e PDF
- Programmi binari
- Archivi
- File multimediali
A differenza degli altri formati, gli artefatti archiviati in repository in formato generico non sono pensata per l'utilizzo da parte di Docker, gestori di pacchetti o altri client di terze parti.
Prima di iniziare
- Crea un repository di formati generici.
- Verifica di disporre delle autorizzazioni necessarie per repository Git.
- (Facoltativo) Configura le impostazioni predefinite per Google Cloud CLI Cloud.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire gli artefatti generici, chiedi all'amministratore di concederti seguenti ruoli IAM sul repository:
-
Visualizza gli artefatti:
Lettore Artifact Registry (
roles/artifactregistry.reader
) -
Scarica gli artefatti:
Lettore Artifact Registry (
roles/artifactregistry.reader
) -
Carica gli artefatti in un repository:
Writer Artifact Registry (
roles/artifactregistry.writer
) -
Elimina gli artefatti:
Amministratore repository Artifact Registry (
roles/artifactregistry.repoAdmin
)
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.
Carica elementi generici
Puoi caricare elementi generici singolarmente per file o in multipli di . Durante il caricamento, il nome del pacchetto e il numero di versione devono essere specificato. Puoi anche specificare il percorso nella struttura del file di destinazione per caricarli. Se non viene specificato alcun percorso di destinazione, gli artefatti vengono caricati il livello della directory principale per impostazione predefinita.
Per caricare artefatti generici nel tuo repository, esegui questo comando:
gcloud
Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
PROJECT
: il tuo account Google Cloud
ID progetto.
Se l'ID progetto contiene i due punti (:
), consulta
Progetti con ambito dominioLOCATION
: a livello di una o più regioni
località del repository.REPOSITORY
: il nome del repository in cui
viene archiviato.SOURCE
: la posizione e il nome del file
caricamento in corso.PACKAGE
: il nome del pacchetto del file che stai
caricamento in corso.VERSION
: la versione del file che stai caricando.Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud artifacts generic upload \ --project=PROJECT \ --source=SOURCE \ --package=PACKAGE \ --version=VERSION \ --location=LOCATION \ --repository=REPOSITORY
Windows (PowerShell)
gcloud artifacts generic upload ` --project=PROJECT ` --source=SOURCE ` --package=PACKAGE ` --version=VERSION ` --location=LOCATION ` --repository=REPOSITORY
Windows (cmd.exe)
gcloud artifacts generic upload ^ --project=PROJECT ^ --source=SOURCE ^ --package=PACKAGE ^ --version=VERSION ^ --location=LOCATION ^ --repository=REPOSITORY
--destination-path=PATH
per eseguire il caricamento in una cartella specificata all'interno di pacchetto e versione. Verranno create anche cartelle che non esistono.--source-directory=SOURCE_DIR
per sostituire--source
e carica una directory anziché un singolo file.--skip-existing
quando utilizzi il flag--source-directory
per saltare questo passaggio file già esistenti. In caso contrario, il comando avrà esito negativo quando tenti di caricare un file esiste già.
API
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT è il tuo account Google Cloud
ID progetto. Se l'ID progetto contiene i due punti (
:
), consulta Progetti con ambito dominio - LOCATION è la regione località multiregionale del repository.
- REPOSITORY è il nome del in cui è archiviato l'artefatto.
- SOURCE è la posizione e il nome di del file che stai caricando.
- PACKAGE è il nome del pacchetto del file che stai caricando.
- VERSION è la versione del file che in fase di caricamento.
- NAME è il nuovo nome del file nella repository Git.
Metodo HTTP e URL:
POST https://artifactregistry.googleapis.com/upload/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/genericArtifacts:create?alt=json
curl (Linux, macOS o Cloud Shell)
Per inviare la richiesta, esegui questo comando:
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
Elenco artefatti
console
Puoi visualizzare gli artefatti per i repository in formato generico in nella console Google Cloud.
Apri la pagina Repository nella console Google Cloud.
Seleziona il repository nell'elenco.
Fai clic sul nome del pacchetto.
Per visualizzare i file scaricabili per tutte le versioni del pacchetto, fai clic sull'icona File .
Per visualizzare i file scaricabili relativi a una versione specifica del pacchetto, fai clic su il nome della versione e poi fai clic sulla scheda File.
gcloud
Puoi elencare gli artefatti in un repository con l'gcloud artifacts files list
.
Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
PROJECT
: il tuo account Google Cloud ID progetto. Se l'ID progetto contiene i due punti (:
), consulta Progetti con ambito dominioLOCATION
: a livello di una o più regioni località del repository.REPOSITORY
: il nome del repository in cui viene archiviato.
Esegui la persone che seguo :
Linux, macOS o 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
È anche possibile ordinare per versione e pacchetto aggiungendo una o entrambe i seguenti flag:
--package=PACKAGE
per mostrare solo i file di un tipo specifico pacchetto.--version=VERSION
per mostrare solo i file di un tipo specifico completamente gestita.
Scarica artefatti generici
Per scaricare artefatti generici dal tuo repository, esegui questo comando:
gcloud
Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
DESTINATION
: il percorso della cartella di destinazione nel tuo file system locale. La cartella di destinazione deve esistere già, altrimenti il comando non riuscito.LOCATION
: a livello di una o più regioni località del repository.REPOSITORY
: il nome del repository in cui viene archiviato.PACKAGE
: il pacchetto del file da scaricare.VERSION
: la versione del file da scaricare.- (Facoltativo)
NAME
: il nome del file da scaricare. Senza questo flag, il comando scaricherà tutti i file per il pacchetto e la versione specificati come e creerai le directory necessarie nella destinazione.
Esegui la persone che seguo :
Linux, macOS o 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
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT
: il tuo account Google Cloud ID progetto. Se l'ID progetto contiene i due punti (:
), consulta Progetti con ambito dominio.LOCATION
: a livello di una o più regioni località del repository.REPOSITORY
: il nome del repository in cui è archiviato l'artefatto.DESTINATION
: il percorso cartella di destinazione nel tuo file system locale. La cartella di destinazione deve esistere già oppure non riuscirà.FILE
: il nome file codificato nell'URL. Puoi per trovare questo valore eseguendo il comandogcloud artifacts files list
e copiando il valore perFILE
. Deve essere convertito in formato con codifica URL per questo comando, ad esempiopath/to/file.jar
deve essere inserito comepath%2Fto%2Ffile.jar
.
Metodo HTTP e URL:
GET https://artifactregistry.googleapis.com/download/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/files/FILE:download?alt=media
Per inviare la richiesta, espandi una delle seguenti opzioni:
Il download dovrebbe iniziare immediatamente.Elimina artefatti generici
Per eliminare gli artefatti generici dal repository, esegui il comando gcloud artifacts
files delete
. Questo comando è disponibile solo in formato generico
repository.
Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
FILE
: il nome completo del file. Puoi trovare questo valore eseguendo il comandogcloud artifacts files list
e copiando il valore diFILE
.LOCATION
: a livello di una o più regioni località del repository.REPOSITORY
: il nome del repository in cui viene archiviato.
Esegui la persone che seguo :
Linux, macOS o 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