Archiviazione di pacchetti Node.js in Artifact Registry
Questa guida rapida mostra come configurare un repository di pacchetti Node.js privato di Artifact Registry e caricare un pacchetto al suo interno.
Prima di iniziare
- Accedi al tuo Google Cloud account. Se non hai mai utilizzato Google Cloud, crea un account per valutare il rendimento dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init - Installa PowerShell, se vuoi connetterti a un repository di pacchetti Node.js da Windows.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare e gestire i repository di pacchetti Node.js di Artifact Registry, chiedi all'amministratore di concederti il ruolo IAM Amministratore di Artifact Registry (roles/artifactregistry.admin) nel tuo progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
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 il Google Cloud CLI. gcloud CLI fornisce l'interfaccia a riga di comando principale per Google Cloud.
Avvia Cloud Shell:
Vai alla Google Cloud console.
Nella barra degli strumenti della Google Cloud console, 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 gli artefatti Node.js.
Crea il repository.
Console
Apri la pagina Repository nella Google Cloud console.
Fai clic su Crea repository.
Specifica
quickstart-nodejs-repocome 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 il comando seguente per creare un nuovo repository di pacchetti Node.js denominato
quickstart-nodejs-reponella localitàus-central1con 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-repoe la località predefinita suus-central1. Una volta impostati i valori, non devi specificarli nei comandigcloudche richiedono un repository o una località.Per impostare il repository, esegui il comando:
gcloud config set artifacts/repository quickstart-nodejs-repoPer impostare la località, esegui il comando:
gcloud config set artifacts/location us-central1Per 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, caricherai un pacchetto e poi lo installerai in un secondo pacchetto come dipendenza.
Scarica il pacchetto emoji-regex, un pacchetto che fornisce un'espressione regolare per trovare tutti i simboli e le sequenze di emoji.
npm pack emoji-regexIl 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 1Crea un secondo pacchetto npm che utilizzerai per installare il pacchetto
emoji-regexda Artifact Registry. Per questo pacchetto, utilizza il comandonpm initper creare un pacchetto di base.mkdir npm-package2 cd npm-package2 npm init -yQuando richiesto, accetta i valori predefiniti.
Configura i progetti
emoji-regexenpm-package2per 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=@quickstartL'ambito
quickstartquickstart è associato al repository. Quando includi l'ambito nei comandi per pubblicare o installare i 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 overview.L'output del comando
gcloudè simile all'esempio seguente. PROJECT è l'ID Google Cloud progetto.@quickstart:registry=https://us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/ //us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/:always-auth=trueAggiungi le impostazioni di configurazione del passaggio precedente al file
.npmrcdel progetto in ogni progetto npm. Il file si trova nella stessa directory del filepackage.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 npm
https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY. Se crei un altro repository di pacchetti Node.js di Artifact Registry, npm interagisce con questo come un registro separato con il proprio ambito.
Modifica
package.jsonnei progettiemoji-regexenpm-package2.Assicurati che il valore di
nameincluda 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 --repo-config=./.npmrc --credential-config=./.npmrc" }
Carica un pacchetto nel repository
Aggiorna il token di accesso per la connessione al repository.
npm run artifactregistry-loginAggiungi il pacchetto al repository. Puoi utilizzare un comando
npmoyarn.npm publishyarn publish
Visualizza il pacchetto nel repository
Per verificare che il pacchetto sia stato aggiunto al repository:
Console
Apri la pagina Repository nella Google Cloud console.
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 predefinito quickstart-nodejs-repo, 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 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"
}
Libera spazio
Per evitare che al tuo Google Cloud account 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 Google Cloud console.
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-repoSe vuoi rimuovere il repository predefinito e le impostazioni di localizzazione configurate per la configurazione
gcloudattiva, 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.