Almacenar paquetes de Node.js en Artifact Registry
En esta guía de inicio rápido se muestra cómo configurar un repositorio de paquetes Node.js privado de Artifact Registry y cómo subir un paquete a él.
Antes de empezar
- 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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
- Instala PowerShell si quieres conectarte a un repositorio de paquetes de Node.js desde Windows.
Ve a la Google Cloud consola.
En la barra de herramientas de la consola Google Cloud , haz clic en Activar Cloud Shell:
.
Crea el repositorio.
Consola
Abre la página Repositorios en la consola de Google Cloud .
Haz clic en Crear repositorio.
Especifica
quickstart-nodejs-repo
como nombre del repositorio.Elige npm como formato y Estándar como modo.
En Tipo de ubicación, selecciona Región y, a continuación, elige la ubicación.
us-central1
Haz clic en Crear.
El repositorio se añade a la lista de repositorios
gcloud
Ejecuta el siguiente comando para crear un repositorio de paquetes de Node.js llamado
quickstart-nodejs-repo
en la ubicaciónus-central1
con la descripción "Repositorio de Node.js".gcloud artifacts repositories create quickstart-nodejs-repo --repository-format=npm \ --location=us-central1 --description="Node.js package repository"
Ejecuta el siguiente comando para verificar que se ha creado el repositorio.
gcloud artifacts repositories list
Para obtener más información sobre los comandos de Artifact Registry, ejecuta el comando
gcloud artifacts
.Para simplificar los comandos de
gcloud
, define el repositorio predeterminado comoquickstart-nodejs-repo
y la ubicación predeterminada comous-central1
. Una vez definidos los valores, no es necesario especificarlos en los comandosgcloud
que requieran un repositorio o una ubicación.Para definir el repositorio, ejecuta el comando:
gcloud config set artifacts/repository quickstart-nodejs-repo
Para definir la ubicación, ejecuta el comando:
gcloud config set artifacts/location us-central1
Para obtener más información sobre estos comandos, consulta la documentación de gcloud config set.
Descarga el paquete emoji-regex, un paquete sencillo que proporciona una expresión regular para que coincida con todos los símbolos y secuencias de emojis.
npm pack emoji-regex
El comando descarga un archivo del paquete.
Extrae el archivo en un directorio
emoji-regex
. El siguiente comando es para un archivo de la versión 10.1.0 deemoji-regex
:mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1
Crea un segundo paquete npm que usarás para instalar el
emoji-regex
paquete de Artifact Registry. Para este paquete, usa el comandonpm init
para crear un paquete básico.mkdir npm-package2 cd npm-package2 npm init -y
Cuando se te solicite, acepta los valores predeterminados.
Configura los proyectos
emoji-regex
ynpm-package2
para que se autentiquen con el repositorio de Artifact Registry que has creado.Ejecuta el siguiente comando: El comando devuelve los ajustes de configuración que debes añadir al archivo de configuración de npm.
gcloud artifacts print-settings npm --scope=@quickstart
El ámbito
quickstart
está asociado a tu repositorio. Cuando incluyes el ámbito en los comandos para publicar o instalar paquetes, npm usa tu repositorio. Cuando publicas o instalas paquetes sin un ámbito, se usa el repositorio predeterminado que hayas configurado. Para obtener más información, consulta la descripción general de Node.js.La salida del comando
gcloud
es similar al siguiente ejemplo. PROJECT es el ID de tu proyecto 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
Añade los ajustes de configuración del paso anterior al archivo
.npmrc
del proyecto en cada proyecto npm. El archivo está en el mismo directorio que el archivopackage.json
.Para obtener más información sobre el archivo
.npmrc
, consulta la descripción general de Node.js.Cada repositorio de paquetes de Node.js de Artifact Registry está asociado a un endpoint de registro de npm
https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY
. Si crea otro repositorio de paquetes de Node.js de Artifact Registry, npm interactúa con él como un registro independiente con su propio ámbito.
Edita
package.json
en los proyectosemoji-regex
ynpm-package2
.Asegúrese de que el valor de
name
incluya el ámbitoquickstart
.- Para
emoji-regex
:
"name": "@quickstart/emoji-regex"
- Para
npm-package2
:
"name": "@quickstart/npm-package2"
- Para
En
scripts
, añade una secuencia de comandos para google-artifactregistry-auth, una biblioteca de cliente que actualiza las credenciales de los repositorios de Artifact Registry."scripts": { "artifactregistry-login": "npx google-artifactregistry-auth --repo-config=./.npmrc --credential-config=./.npmrc" }
Actualiza el token de acceso para conectarte al repositorio.
npm run artifactregistry-login
Añade tu paquete al repositorio. Puedes usar el comando
npm
oyarn
.npm publish
yarn publish
Abre la página Repositorios en la consola de Google Cloud .
En la lista de repositorios, haga clic en el repositorio
quickstart-nodejs-repo
.En la página Paquetes se muestran los paquetes del repositorio.
Haz clic en un paquete para ver sus versiones.
Abre la página Repositorios en la consola de Google Cloud .
En la lista de repositorios, selecciona el repositorio
quickstart-nodejs-repo
.Haz clic en Eliminar.
Para eliminar el repositorio
quickstart-nodejs-repo
, ejecuta el siguiente comando:gcloud artifacts repositories delete quickstart-nodejs-repo
Si quieres quitar los ajustes predeterminados de repositorio y ubicación que has configurado para la configuración
gcloud
activa, ejecuta los siguientes comandos:gcloud config unset artifacts/repository gcloud config unset artifacts/location
- Más información sobre cómo configurar la autenticación
- Información sobre cómo gestionar repositorios
- Información sobre cómo gestionar paquetes
- Consulta nuestros recursos sobre DevOps y descubre nuestro programa de investigación.
Abrir Cloud Shell
En esta guía de inicio rápido, usarás Cloud Shell, un entorno de shell para gestionar recursos alojados enGoogle Cloud.
Cloud Shell tiene preinstalada la CLI de Google Cloud. La CLI de gcloud proporciona la interfaz de línea de comandos principal de Google Cloud.
Abre Cloud Shell:
Se abrirá una sesión de Cloud Shell en un marco de la parte inferior de la consola.
Esta shell se usa para ejecutar comandos gcloud
.
Crear un repositorio de paquetes de Node.js
Crea el repositorio de tus artefactos de Node.js.
Configurar npm
Para subir y descargar paquetes, debes configurar tus proyectos de npm con ajustes para autenticarte en el repositorio que has creado. En esta guía de inicio rápido, subirás un paquete sencillo y, a continuación, lo instalarás en un segundo paquete como dependencia.
Subir un paquete al repositorio
Ver el paquete en el repositorio
Para verificar que el paquete se ha añadido al repositorio, sigue estos pasos:
Consola
gcloud
Para enumerar las imágenes del repositorio quickstart-nodejs-repo
predeterminado, ejecuta el siguiente comando:
gcloud artifacts packages list
Para ver las versiones de un paquete, ejecuta el siguiente comando:
gcloud artifacts versions list --package=PACKAGE
Donde PACKAGE es el ID del paquete.
Instalar paquetes
Instala el paquete emoji-regex
desde tu repositorio de Artifact Registry en npm-package2
.
En el directorio npm-package2
, ejecuta el comando npm install
o yarn add
:
npm install @quickstart/emoji-regex
yarn add @quickstart/emoji-regex
El comando instala el paquete emoji-regex
en el proyecto npm-package2
.
También actualiza package.json
para definir emoji-regex
como dependencia.
"dependencies": {
"@quickstart/emoji-regex": "^10.1.0"
}
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.
Antes de quitar un repositorio, asegúrate de que los paquetes que quieras conservar estén disponibles en otra ubicación.
Para eliminar el repositorio, sigue estos pasos: