Guía de inicio rápido: Almacene paquetes de Node.js en Artifact Registry

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 y subir un paquete a él.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.

  4. Habilita la API de Artifact Registry.

    Habilita la API

  5. Instala y, luego, inicializa Google Cloud CLI.
  6. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  7. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.

  8. Habilita la API de Artifact Registry.

    Habilita la API

  9. Instala y, luego, inicializa Google Cloud CLI.
  10. 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, un entorno de shell para administrar recursos alojados en Google Cloud.

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

Iniciar Cloud Shell:

  1. Ve a la consola de Google Cloud.

    Google Cloud Console

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

Se abrirá una sesión de Cloud Shell dentro de un marco en la parte inferior de 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 Repositories en Console.

      Abrir la página Repositorios

    2. Haz clic en Crear repositorios.

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

    4. Elige npm como formato.

    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 descripción 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 una configuración para autenticarte 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 que coincide con todos los símbolos y 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 la versión 10.1.0 de emoji-regex:

    mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1
    
  3. Crea un segundo paquete npm que usarás para instalar el paquete emoji-regex de Artifact Registry. Para este paquete, usa el comando npm init a fin de 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 de emoji-regex y npm-package2 para autenticar 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 de quickstart está asociado al repositorio. Cuando incluyes el alcance en los comandos para publicar o instalar paquetes, npm usa tu repositorio. Cuando publicas o instalas paquetes sin alcance, se usa el repositorio predeterminado configurado. Para obtener más información, consulta la descripción general de Node.js.

      El resultado del comando gcloud se ve como el siguiente ejemplo. PROJECT es el ID del 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 está asociado a un extremo de registro de npm https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY. Si creas otro repositorio de paquetes de Node.js de Artifact Registry, npm interactúa con él como un registro independiente con su propio alcance.

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

    1. Asegúrate de que el valor de name incluya el permiso 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-artifactregister-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 Repositories en Console.

    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 correspondientes.

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 de 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 establecer emoji-regex como una dependencia.

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

Realiza una limpieza

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron 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 Repositories en Console.

    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?