Archiviare i pacchetti Node.js in Artifact Registry
Questa guida rapida mostra come configurare un repository privato di Artifact Registry Node.js e come caricare un pacchetto al suo interno.
Prima di iniziare
- 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.
-
Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.
-
Attiva l'API Artifact Registry.
- Installa Google Cloud CLI.
-
Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:
gcloud init
-
Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.
-
Attiva l'API Artifact Registry.
- Installa Google Cloud CLI.
-
Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:
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, 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:
Viene aperta una sessione di Cloud Shell all'interno di un frame più in basso nella console.
Utilizza questa shell per eseguire i comandi gcloud
.
Crea un repository di pacchetti Node.js
Crea il repository per gli 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 e poi la località
us-central1
.Fai clic su Crea.
Il repository viene aggiunto all'elenco dei repository
gcloud
Esegui il comando seguente 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"
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 suus-central1
. Dopo aver impostato i valori, non è necessario specificarli nei comandigcloud
che richiedono un repository o una località.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 impostazioni per l'autenticazione con il repository che hai creato. Per questa guida rapida, devi caricare un pacchetto semplice e quindi installarlo in un secondo pacchetto come dipendenza.
Scarica il pacchetto emoji-regex, un pacchetto semplice che fornisce un'espressione regolare per trovare corrispondenze con tutte le sequenze e i simboli di emoji.
npm pack emoji-regex
Il comando scarica un archivio del pacchetto.
Estrai l'archivio in una directory
emoji-regex
. Il seguente comando è relativo a un archivio diemoji-regex
versione 10.1.0:mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1
Crea un secondo pacchetto npm da utilizzare 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
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 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 è il tuo ID 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 del progetto
.npmrc
in ogni progetto npm. Il file che si trova nella stessa directory del filepackage.json
.Per scoprire 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 npm registry
https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY
. Se crei un altro repository di pacchetti Artifact Registry Node.js, npm vi interagisce come un registro separato con il proprio ambito.
Modifica
package.json
in entrambi i 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
.Nella pagina Pacchetti sono elencati 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 il comando seguente:
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 di pacchetti
Installa il pacchetto emoji-regex
dal 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
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.