Lavorare con altri formati di artefatti

Questa pagina descrive come archiviare artefatti immutabili con controllo delle versioni che non aderiscono a un formato del pacchetto specifico nei repository di formato generico di Artifact Registry.

Per acquisire familiarità con l'archiviazione di artefatti generici in Artifact Registry, puoi provare la guida rapida.

Gli artefatti 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'uso da parte di Docker, gestori di pacchetti o altri client di terze parti.

Prima di iniziare

  1. Crea un repository di formati generici.
  2. Verifica di disporre delle autorizzazioni necessarie per il repository.
  3. (Facoltativo) Configura le impostazioni predefinite per Google Cloud CLI Cloud.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per gestire gli elementi generici, chiedi all'amministratore di concederti i seguenti ruoli IAM nel repository:

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 la ruoli o altri ruoli predefiniti ruoli.

Carica elementi generici

Puoi caricare gli elementi generici singolarmente per file o in più per directory. 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 su cui caricarli. Se non viene specificato alcun percorso di destinazione, gli elementi vengono caricati per impostazione predefinita a livello di radice.

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 dominio
  • LOCATION: 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 che stai caricando.
  • PACKAGE: il nome del pacchetto del file che stai caricamento in corso.
  • VERSION: la versione del file che stai caricando.
  • Esegui il seguente comando:

    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
    Esistono altri flag che puoi utilizzare durante il caricamento degli elementi:
    • --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 tenterai di caricare un file che esiste già.

    API

    Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

    • PROJECT è il tuo ID progetto Google Cloud. Se l'ID progetto contiene i due punti (:), consulta Progetti con ambito dominio
    • LOCATION è la posizione regionale o multiregionale del repository.
    • REPOSITORY è il nome del repository in cui è archiviato l'elemento.
    • 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 stai caricando.
    • NAME è il nuovo nome del file nel repository.

    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 il seguente 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 degli elementi

    console

    Puoi visualizzare gli elementi per i repository di formati generici nella console Google Cloud.

    1. Apri la pagina Repositories (Repositoi) nella console Google Cloud.

      Apri la pagina Repository

    2. Nell'elenco dei repository, seleziona il repository.

    3. Fai clic sul nome del pacchetto.

    4. Per visualizzare i file scaricabili per tutte le versioni del pacchetto, fai clic sull'icona File .

    5. Per visualizzare i file scaricabili per una versione specifica del pacchetto, fai clic sul nome della versione e poi sulla scheda File.

    gcloud

    Puoi elencare gli elementi in un repository con il comando gcloud artifacts files list.

    Prima di utilizzare i dati dei comandi 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 dominio
    • 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 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
    La risposta include i dettagli del file nel formato PACKAGE:VERSION:NAME.
    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.

    Scaricare 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 file system locale. La cartella di destinazione deve già esistere, altrimenti il comando non andrà a buon fine.
    • LOCATION: la località regionale o multiregionale del repository.
    • REPOSITORY: il nome del repository in cui è memorizzato l'elemento.
    • 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 il seguente comando:

    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 ID progetto Google Cloud. Se l'ID progetto contiene due punti (:), consulta Progetti basati sul dominio.
    • LOCATION: la località regionale o multiregionale 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 già esistere, altrimenti il comando non andrà a buon fine.
    • FILE: il nome file codificato come URL. Puoi per trovare questo valore eseguendo il comando gcloud artifacts files list e copiando il valore per FILE. Per questo comando deve essere convertito in formato codificato per l'URL, ad esempio path/to/file.jar deve essere inserito come path%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 elementi 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 comando gcloud artifacts files list e copiando il valore per FILE.
    • LOCATION: la località regionale o multiregionale del repository.
    • REPOSITORY: il nome del repository in cui è memorizzato l'elemento.

    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

    Passaggi successivi