Archiviare i pacchetti Node.js in Artifact Registry

Questa guida rapida mostra come configurare un repository di pacchetti Node.js di Artifact Registry privato e caricare un pacchetto al suo interno.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry API.

    Enable the API

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Artifact Registry API.

    Enable the API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    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, che è un ambiente shell per la gestione delle risorse ospitate su Google Cloud.

Cloud Shell è preinstallato con Google Cloud CLI. L'interfaccia a riga di comando gcloud fornisce l'interfaccia a riga di comando principale 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:

Una sessione di Cloud Shell si apre in un frame nella parte inferiore della console. Utilizza 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 Repository 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, quindi 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 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 località predefinita è us-central1. Una volta impostati 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 i pacchetti, devi configurare i progetti npm con le impostazioni per l'autenticazione con il repository che hai creato. Per questa guida rapida, carica un pacchetto semplice e poi installalo 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 di emoji.

    npm pack emoji-regex
    

    Il comando scarica un archivio del pacchetto.

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

    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 di configurazione da aggiungere al file di configurazione npm.

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

      Ambito quickstart associate al tuo repository. Quando includi l'ambito nei comandi per pubblicare o installare i pacchetti, npm utilizza il tuo repository. Quando pubblichi o installi pacchetti senza un ambito, viene utilizzato il repository predefinito configurato. Per ulteriori informazioni, consulta Node.js Panoramica.

      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 .npmrc del progetto in ogni progetto npm. Il file nella stessa directory del file package.json.

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

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

  5. Modifica package.json nei 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 Repository nella console Google Cloud.

    Apri la pagina Repositori

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

    La pagina Pacchetti elenca 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 nel mese di 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 Repository nella console Google Cloud.

    Apri la pagina Repositori

  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