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

Antes de comenzar

  1. Accede a tu Google Cloud cuenta de. 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. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

  4. Verify that billing is enabled for your Google Cloud project.

  5. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. Instala Google Cloud CLI.

  7. Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

  8. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  9. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

  11. Verify that billing is enabled for your Google Cloud project.

  12. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  13. Instala Google Cloud CLI.

  14. Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

  15. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  16. Instala PowerShell si deseas conectarte a un repositorio de paquetes de Node.js desde Windows.

Roles obligatorios

Para obtener los permisos que necesitas para crear y administrar repositorios de paquetes de Node.js de Artifact Registry, pídele a tu administrador que te otorgue el rol de IAM de Administrador de Artifact Registry (roles/artifactregistry.admin) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

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 ya viene instalado en el Google Cloud CLI. La gcloud CLI proporciona la interfaz de línea de comandos principal para Google Cloud.

Iniciar Cloud Shell:

  1. Accede a la Google Cloud consola de.

    Google Cloud console

  2. En la barra de herramientas de la Google Cloud consola, 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 Google Cloud consola de.

      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 formato y Estándar como 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 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 que se establecen los valores, no es necesario 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 la Administración de socios de red con parámetros para autenticarte con el repositorio que creaste. En esta guía de inicio rápido, subirás un paquete y, luego, lo instalarás en un segundo paquete como dependencia.

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

    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 la Administración de socios de red que usarás para instalar el paquete emoji-regex desde 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 quickstart permiso está asociado con tu repositorio. Cuando incluyes el permiso en los comandos para publicar o instalar paquetes, la Administración de socios de red usa tu repositorio. Cuando publicas o instalas paquetes sin un permiso, 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 tu Google Cloud ID del proyecto.

      @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 la Administración de socios de red. 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 con un extremo de registro de la Administración de socios de red 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 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-artifactregistry-auth, una biblioteca cliente que actualiza las credenciales de los repositorios de Artifact Registry.

      "scripts": {
        "artifactregistry-login": "npx google-artifactregistry-auth --repo-config=./.npmrc --credential-config=./.npmrc"
      }
      

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

    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 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 Google Cloud cuenta de 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 Google Cloud consola de.

    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?