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
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- 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:
Vai alla console Google Cloud.
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.
Crea il repository.
Console
Apri la pagina Repository nella console Google Cloud.
Fai clic su Crea repository.
Specifica
quickstart-nodejs-repo
come nome del repository.Scegli npm come formato e Standard come modalità.
In Tipo di località, seleziona Regione, quindi scegli la località
us-central1
.Fai clic su Crea.
Il repository viene aggiunto all'elenco dei repository
gcloud
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"
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
.Per semplificare i comandi
gcloud
, imposta il repository predefinito suquickstart-nodejs-repo
e la località predefinita èus-central1
. Una volta impostati i valori, non è necessario specificarli nei comandigcloud
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.
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.
Estrai l'archivio in una directory
emoji-regex
. Il comando seguente è per un archivio della versione 10.1.0 diemoji-regex
:mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1
Crea un secondo pacchetto npm che utilizzerai per installare il pacchetto
emoji-regex
da Artifact Registry. Per questo pacchetto, utilizza il comandonpm init
per creare un pacchetto di base.mkdir npm-package2 cd npm-package2 npm init -y
Quando richiesto, accetta i valori predefiniti.
Configura i progetti
emoji-regex
enpm-package2
per l'autenticazione con il repository Artifact Registry che hai creato.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
Aggiungi le impostazioni di configurazione del passaggio precedente al file
.npmrc
del progetto in ogni progetto npm. Il file nella stessa directory del filepackage.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.
Modifica
package.json
nei progettiemoji-regex
enpm-package2
.Assicurati che il valore di
name
includa l'ambitoquickstart
.- Per
emoji-regex
:
"name": "@quickstart/emoji-regex"
- Per
npm-package2
:
"name": "@quickstart/npm-package2"
- Per
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
Aggiorna il token di accesso per la connessione al repository.
npm run artifactregistry-login
Aggiungi il pacchetto al repository. Puoi utilizzare un comando
npm
oyarn
.npm publish
yarn publish
Visualizza il pacchetto nel repository
Per verificare che il pacchetto sia stato aggiunto al repository:
Console
Apri la pagina Repository nella console Google Cloud.
Nell'elenco dei repository, fai clic sul repository
quickstart-nodejs-repo
.La pagina Pacchetti elenca i pacchetti nel repository.
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
Apri la pagina Repository nella console Google Cloud.
Nell'elenco dei repository, seleziona il repository
quickstart-nodejs-repo
.Fai clic su Elimina.
gcloud
Per eliminare il repository
quickstart-nodejs-repo
, esegui questo comando:gcloud artifacts repositories delete quickstart-nodejs-repo
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
- Scopri di più sulla configurazione dell'autenticazione
- Scopri di più sulla gestione dei repository
- Scopri di più sulla gestione dei pacchetti
- Leggi le nostre risorse su DevOps ed esplora il nostro programma di ricerca.