Almacena paquetes de Node.js en Artifact Registry

En esta guía de inicio rápido, se muestra cómo configurar un repositorio de paquetes de Node.js de Artifact Registry privado y subir un paquete a él.

Antes de comenzar

  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. Instala PowerShell si deseas conectarte a un repositorio de paquetes de Node.js desde Windows

Inicia Cloud Shell

En esta guía de inicio rápido, usarás Cloud Shell, que es un entorno de shell para administrar recursos alojados en en Google Cloud.

Cloud Shell ya viene instalado con Google Cloud CLI. La CLI de gcloud proporciona la interfaz de línea de comandos principal para Google Cloud.

Iniciar Cloud Shell:

  1. Ve a la consola de Google Cloud.

    Consola de Google Cloud

  2. En la barra de herramientas de la consola de Google Cloud, haz clic en Activar Cloud Shell:

Se abrirá una sesión de Cloud Shell dentro de un marco en la parte inferior en la consola. Usa esta shell para ejecutar los comandos de gcloud.

Crea un repositorio de paquetes de Node.js

Crea el repositorio para tus artefactos de Node.js.

  1. Crea el repositorio.

    Console

    1. Abre la página Repositorios en la consola de Google Cloud.

      Abrir la página Repositorios

    2. Haz clic en Crear repositorio.

    3. Especifica quickstart-nodejs-repo como el nombre del repositorio.

    4. Elige npm como el formato y Estándar como el modo.

    5. En Tipo de ubicación, selecciona Región y, luego, elige la ubicación us-central1.

    6. Haga clic en Crear.

    El repositorio se agrega a la lista de repositorios.

    gcloud

    1. Ejecuta el siguiente comando para crear un nuevo repositorio de paquetes de Node.js llamado quickstart-nodejs-repo en la ubicación us-central1 con la en 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"
      
    2. Ejecuta el siguiente comando para verificar que se haya creado el repositorio:

      gcloud artifacts repositories list
      

    Para obtener más información sobre los comandos de Artifact Registry, ejecuta el comando gcloud artifacts.

  2. Para simplificar los comandos de gcloud, configura el repositorio predeterminado como quickstart-nodejs-repo y la ubicación predeterminada como us-central1. Una vez configurados los valores, no necesitas especificarlos en los comandos de gcloud que requieren un repositorio o una ubicación.

    Para configurar el repositorio, ejecuta el siguiente comando:

    gcloud config set artifacts/repository quickstart-nodejs-repo
    

    Para configurar la ubicación, ejecuta el siguiente comando:

    gcloud config set artifacts/location us-central1
    

    Para obtener más información sobre estos comandos, consulta la documentación de establecimiento de la configuración de gcloud.

Configura la Administración de socios de red

Para subir y descargar paquetes, debes configurar tus proyectos de npm con para autenticarse con el repositorio que creaste. En esta guía de inicio rápido, subirás un paquete simple y, luego, lo instalarás en un segundo paquete como dependencia.

  1. Descarga el paquete emoji-regex, un paquete simple que proporciona una expresión regular para que coincida con todos los símbolos y las secuencias de emojis.

    npm pack emoji-regex
    

    El comando descarga un archivo del paquete.

  2. Extrae el archivo en un directorio emoji-regex. El siguiente comando es para un archivo de emoji-regex versión 10.1.0:

    mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1
    
  3. Crea un segundo paquete de npm que usarás para instalar emoji-regex de Artifact Registry. Para este paquete, usa el comando npm init para crear un paquete básico.

    mkdir npm-package2
    cd npm-package2
    
    npm init -y
    

    Cuando se te solicite, acepta los valores predeterminados.

  4. Configura los proyectos emoji-regex y npm-package2 para que se autentiquen con el repositorio de Artifact Registry que creaste.

    1. Ejecuta el siguiente comando. El comando muestra la configuración que se debe agregar a tu archivo de configuración de la Administración de socios de red.

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

      El alcance quickstart se asocia con tu repositorio. Cuando incluyes el alcance en para publicar o instalar paquetes, npm usa tu repositorio. Cuándo publicas o instalas paquetes sin un permiso, tu configuración predeterminada de Terraform. Para obtener más información, consulta Node.js descripción general.

      El resultado del comando gcloud se ve como el siguiente ejemplo. PROJECT es el ID de tu proyecto de 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. Agrega la configuración del paso anterior al archivo .npmrc del proyecto en cada proyecto de npm. El archivo en el mismo directorio que el archivo package.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 se asocia con un archivo npm extremo del registro https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY. Si creas otro repositorio de paquetes de Node.js de Artifact Registry, la Administración de socios de red interactúa con él como un registro independiente con su propio permiso.

  5. Edita package.json en los proyectos emoji-regex y npm-package2.

    1. Asegúrate de que el valor de name incluya el alcance quickstart.

      • Para emoji-regex:
      "name": "@quickstart/emoji-regex"
      
      • Para npm-package2:
      "name": "@quickstart/npm-package2"
      
    2. En scripts, agrega una secuencia de comandos para google-artifactregistry-auth, una biblioteca cliente que actualiza las credenciales de los repositorios de Artifact Registry.

      "scripts": {
        "artifactregistry-login": "npx google-artifactregistry-auth"
      }
      

Sube un paquete al repositorio

  1. Actualiza el token de acceso para conectarte al repositorio.

    npm run artifactregistry-login
    
  2. Agrega tu paquete al repositorio. Puedes usar un comando de npm o yarn.

    npm publish
    
    yarn publish
    

Visualiza el paquete en el repositorio

Para verificar que tu paquete se haya agregado al repositorio, haz lo siguiente:

Console

  1. Abre la página Repositorios en la consola de Google Cloud.

    Abrir la página repositorios

  2. En la lista de repositorios, haz clic en el repositorio quickstart-nodejs-repo.

    En la página Paquetes, se enumeran los paquetes del repositorio.

  3. Haz clic en un paquete para ver las versiones de este.

gcloud

Para enumerar las imágenes en el 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

En el ejemplo anterior, PACKAGE es el ID del paquete.

Instala 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 se actualiza package.json para establecer emoji-regex como dependencia.

"dependencies": {
  "@quickstart/emoji-regex": "^10.1.0"
}

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.

Antes de quitar un repositorio, asegúrate de que los paquetes que quieres conservar estén disponibles en otra ubicación.

Para borrar el repositorio, haz lo siguiente:

Console

  1. Abre la página Repositorios en la consola de Google Cloud.

    Abrir la página repositorios

  2. En la lista de repositorios, selecciona el repositorio quickstart-nodejs-repo.

  3. Haz clic en Borrar.

gcloud

  1. Para borrar el repositorio quickstart-nodejs-repo, ejecuta el siguiente comando:

    gcloud artifacts repositories delete quickstart-nodejs-repo
    
  2. Si deseas quitar la configuración predeterminada de la ubicación y del repositorio que estableciste para la configuración activa de gcloud, ejecuta los siguientes comandos:

    gcloud config unset artifacts/repository
    gcloud config unset artifacts/location
    

¿Qué sigue?