Almacena paquetes de Node.js en Artifact Registry

En esta guía de inicio rápido, se muestra cómo configurar un repositorio privado de paquetes de Node.js para 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 la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  4. Habilita la API de Artifact Registry.

    Habilita la API

  5. Instala Google Cloud CLI.
  6. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    gcloud init
  7. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  8. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  9. Habilita la API de Artifact Registry.

    Habilita la API

  10. Instala Google Cloud CLI.
  11. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    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 Google Cloud.

Cloud Shell viene preinstalado con Google Cloud CLI. Gcloud CLI 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.

    Consola

    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 Standard como el modo.

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

    6. Haz 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 y 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"
      
    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

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

  1. Descarga el paquete emoji-regex, un paquete simple que proporciona una expresión regular para hacer coincidir 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 de npm que usarás para instalar el paquete emoji-regex desde 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 emoji-regex y npm-package2 para autenticarlos 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 está asociado a tu repositorio. Cuando incluyes el alcance en los comandos para publicar o instalar paquetes, npm usa tu repositorio. Cuando publicas o instalas paquetes sin un permiso, se usa el repositorio predeterminado que configuraste. Para obtener más información, consulta la descripción general de Node.js.

      El resultado del comando gcloud se parece al 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 los parámetros de configuración del paso anterior al archivo .npmrc del proyecto en cada proyecto de npm. El archivo está 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 con un extremo de registro de npm https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY. Si creas otro repositorio de paquetes de Node.js para 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 alcance de 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:

Consola

  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 del paquete.

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 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 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:

Consola

  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?