Archiviare pacchetti Node.js in Artifact Registry

Questa guida rapida mostra come configurare un repository di pacchetti Node.js di Artifact Registry privato e caricarvi un pacchetto.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Attiva l'API Artifact Registry.

    Abilita l'API

  5. Installa Google Cloud CLI.
  6. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  7. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  8. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  9. Attiva l'API Artifact Registry.

    Abilita l'API

  10. Installa Google Cloud CLI.
  11. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  12. Installa PowerShell, se vuoi connetterti a un repository di pacchetti Node.js da Windows.

Avvia Cloud Shell

In questa guida rapida, utilizzerai Cloud Shell, un ambiente shell per la gestione delle risorse ospitate su Google Cloud.

Cloud Shell è preinstallato con Google Cloud CLI. gcloud CLI fornisce la principale interfaccia a riga di comando per Google Cloud.

Avvia Cloud Shell:

  1. Vai alla console Google Cloud.

    Console Google Cloud

  2. Nella barra degli strumenti della console Google Cloud, fai clic su Attiva Cloud Shell:

Si apre una sessione di Cloud Shell all'interno di un frame più in basso nella console. Puoi utilizzare questa shell per eseguire i comandi gcloud.

Crea un repository di pacchetti Node.js

Crea il repository per i tuoi artefatti Node.js.

  1. Crea il repository.

    Console

    1. Apri la pagina Repositories nella console Google Cloud.

      Apri la pagina Repository

    2. Fai clic su Crea repository.

    3. Specifica quickstart-nodejs-repo come nome del repository.

    4. Scegli npm come formato e Standard come modalità.

    5. In Tipo di località, seleziona Regione e poi scegli la località us-central1.

    6. Fai clic su Crea.

    Il repository viene aggiunto all'elenco dei repository

    gcloud

    1. Esegui questo comando per creare un nuovo repository di pacchetti Node.js denominato quickstart-nodejs-repo nella località us-central1 con la descrizione "Repository Node.js".

      gcloud artifacts repositories create quickstart-nodejs-repo --repository-format=npm \
      --location=us-central1 --description="Node.js package repository"
      
    2. Esegui questo comando per verificare che il repository sia stato creato.

      gcloud artifacts repositories list
      

    Per ulteriori informazioni sui comandi di Artifact Registry, esegui il comando gcloud artifacts.

  2. Per semplificare i comandi gcloud, imposta il repository predefinito su quickstart-nodejs-repo e la posizione predefinita su us-central1. Dopo aver impostato i valori, non è necessario specificarli nei comandi gcloud che richiedono un repository o una posizione.

    Per impostare il repository, esegui il comando:

    gcloud config set artifacts/repository quickstart-nodejs-repo
    

    Per impostare la località, esegui il comando:

    gcloud config set artifacts/location us-central1
    

    Per ulteriori informazioni su questi comandi, consulta la documentazione di gcloud config set.

Configura npm

Per caricare e scaricare pacchetti, devi configurare i tuoi progetti npm con le impostazioni per l'autenticazione con il repository che hai creato. Per questa guida rapida, dovrai caricare un pacchetto semplice e quindi installarlo in un secondo pacchetto come dipendenza.

  1. Scarica il pacchetto emoji-regex, un semplice pacchetto che fornisce un'espressione regolare per trovare tutti i simboli e le sequenze emoji.

    npm pack emoji-regex
    

    Il comando scarica un archivio del pacchetto.

  2. Estrai l'archivio in una directory emoji-regex. Il comando seguente riguarda un archivio di emoji-regex versione 10.1.0:

    mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1
    
  3. Crea un secondo pacchetto npm che utilizzerai per installare il pacchetto emoji-regex da Artifact Registry. Per questo pacchetto, utilizza il comando npm init per creare un pacchetto di base.

    mkdir npm-package2
    cd npm-package2
    
    npm init -y
    

    Quando richiesto, accetta i valori predefiniti.

  4. Configura i progetti emoji-regex e npm-package2 per l'autenticazione con il repository Artifact Registry che hai creato.

    1. Esegui questo comando. Il comando restituisce le impostazioni da aggiungere al file di configurazione npm.

      gcloud artifacts print-settings npm --scope=@quickstart
      

      L'ambito quickstart è associato al repository. Quando includi l'ambito nei comandi per pubblicare o installare pacchetti, npm utilizza il repository. Quando pubblichi o installi pacchetti senza un ambito, viene utilizzato il repository predefinito configurato. Per ulteriori informazioni, consulta la panoramica di Node.js.

      L'output del comando gcloud è simile all'esempio seguente. PROJECT è l'ID del tuo progetto Google Cloud.

      @quickstart:registry=https://us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/
      //us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/:always-auth=true
      
    2. Aggiungi le impostazioni di configurazione del passaggio precedente al file del progetto .npmrc in ogni progetto npm. Il file si trova nella stessa directory del file package.json.

      Per saperne di più sul file .npmrc, consulta la panoramica di Node.js.

      Ogni repository di pacchetti Node.js di Artifact Registry è associato a un endpoint del Registro di sistema npm https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY. Se crei un altro repository di pacchetti Node.js di Artifact Registry, npm lo interagisce come un registro separato con il proprio ambito.

  5. Modifica package.json in entrambi i progetti emoji-regex e npm-package2.

    1. Assicurati che il valore di name includa l'ambito quickstart.

      • Per emoji-regex:
      "name": "@quickstart/emoji-regex"
      
      • Per npm-package2:
      "name": "@quickstart/npm-package2"
      
    2. In scripts, aggiungi uno script per google-artifactregistry-auth, una libreria client che aggiorna le credenziali per i repository Artifact Registry.

      "scripts": {
        "artifactregistry-login": "npx google-artifactregistry-auth"
      }
      

Carica un pacchetto nel repository

  1. Aggiorna il token di accesso per la connessione al repository.

    npm run artifactregistry-login
    
  2. Aggiungi il pacchetto al repository. Puoi utilizzare un comando npm o yarn.

    npm publish
    
    yarn publish
    

Visualizza il pacchetto nel repository

Per verificare che il pacchetto sia stato aggiunto al repository:

Console

  1. Apri la pagina Repositories nella console Google Cloud.

    Apri la pagina Repository

  2. Nell'elenco dei repository, fai clic sul repository quickstart-nodejs-repo.

    Nella pagina Pacchetti sono elencati i pacchetti nel repository.

  3. Fai clic su un pacchetto per visualizzarne le versioni.

gcloud

Per elencare le immagini nel repository quickstart-nodejs-repo predefinito, esegui questo comando:

 gcloud artifacts packages list

Per visualizzare le versioni di un pacchetto, esegui questo comando:

gcloud artifacts versions list --package=PACKAGE

Dove PACKAGE è l'ID pacchetto.

Installazione dei pacchetti

Installa il pacchetto emoji-regex dal tuo repository Artifact Registry in npm-package2.

Nella directory npm-package2, esegui il comando npm install o yarn add:

npm install @quickstart/emoji-regex
yarn add @quickstart/emoji-regex

Il comando installa il pacchetto emoji-regex nel progetto npm-package2. Aggiorna anche package.json per impostare emoji-regex come dipendenza.

"dependencies": {
  "@quickstart/emoji-regex": "^10.1.0"
}

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

Prima di rimuovere un repository, assicurati che tutti i pacchetti che vuoi conservare siano disponibili in un'altra posizione.

Per eliminare il repository:

Console

  1. Apri la pagina Repositories nella console Google Cloud.

    Apri la pagina Repository

  2. Nell'elenco dei repository, seleziona il repository quickstart-nodejs-repo.

  3. Fai clic su Elimina.

gcloud

  1. Per eliminare il repository quickstart-nodejs-repo, esegui questo comando:

    gcloud artifacts repositories delete quickstart-nodejs-repo
    
  2. Se vuoi rimuovere il repository predefinito e le impostazioni di posizione configurate per la configurazione gcloud attiva, esegui i comandi seguenti:

    gcloud config unset artifacts/repository
    gcloud config unset artifacts/location
    

Passaggi successivi