Guide de démarrage rapide pour Node.js

Ce guide de démarrage rapide vous explique comment configurer un dépôt de packages Artifact Registry pour Node.js et y importer un package.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Activez l'API Artifact Registry.

    Activer l'API

  5. Installez et initialisez le SDK Cloud.
  6. Installez PowerShell, si vous souhaitez vous connecter à un dépôt de packages Node.js à partir de Windows.

Créer un dépôt de packages Node.js

Créez le dépôt pour vos artefacts Node.js.

  1. Créez le dépôt.

    Console

    1. Ouvrez la page Dépôts dans Cloud Console.

      Ouvrir la page "Dépôts"

    2. Cliquez sur Créer un dépôt.

    3. Spécifiez quickstart-nodejs-repo comme nom de dépôt.

    4. Choisissez npm comme format.

    5. Sous Type d'emplacement, sélectionnez Région, puis l'emplacement us-central1.

    6. Cliquez sur Create (Créer).

    Le dépôt est ajouté à la liste des dépôts.

    gcloud

    1. Exécutez la commande suivante pour créer un dépôt de packages Node.js nommé quickstart-nodejs-repo à l'emplacement us-central1 avec la description "Dépôt Node.js".

      gcloud artifacts repositories create quickstart-nodejs-repo --repository-format=npm \
      --location=us-central1 [--description="Node.js package repository"]
      
    2. Exécutez la commande suivante pour vérifier que votre dépôt a bien été créé.

      gcloud artifacts repositories list
      

    Exécutez la commande gcloud artifacts pour en savoir plus sur les commandes Artifact Registry.

  2. Pour simplifier les commandes gcloud, définissez le dépôt par défaut sur quickstart-nodejs-repo et l'emplacement par défaut sur us-central1. Une fois les valeurs définies, vous n'avez pas besoin de les spécifier dans les commandes gcloud nécessitant un dépôt ou un emplacement.

    Pour définir le dépôt, exécutez la commande suivante :

    gcloud config set artifacts/repository quickstart-nodejs-repo
    

    Pour définir l'emplacement, exécutez la commande suivante :

    gcloud config set artifacts/location us-central1
    

    Pour plus d'informations sur ces commandes, reportez-vous à la documentation gcloud config set.

Configurer un compte de service pour votre client

Créez ou sélectionnez un compte de service existant pour agir au nom de npm.

  1. Créez un compte de service pour agir au nom de votre application ou sélectionnez un compte de service existant que vous utilisez pour l'automatisation.

    Vous aurez besoin de l'emplacement du fichier de clé de compte de service pour configurer l'authentification avec Artifact Registry. Pour les comptes existants, vous pouvez afficher les clés et en créer sur la page "Comptes de service".

    Accéder à la page "Comptes de service"

  2. Accordez au compte de service un accès en lecture et en écriture sur votre dépôt.

    gcloud artifacts repositories add-iam-policy-binding \
    quickstart-nodejs-repo --location=us-central1 --member=serviceAccount:ACCOUNT --role=roles/artifactregistry.writer
    

    ACCOUNT correspond à l'ID de votre compte de service au format USERNAME@PROJECT-ID.iam.gserviceaccount.com.

  3. Attribuez l'emplacement du fichier de clé du compte de service à la variable GOOGLE_APPLICATION_CREDENTIALS afin que l'assistant d'identification Artifact Registry puisse obtenir votre clé lors de la connexion aux dépôts.

    export GOOGLE_APPLICATION_CREDENTIALS=KEY-FILE
    

    KEY-FILE est le chemin d'accès au fichier de clé du compte de service.

    Pour en savoir plus sur la configuration de l'authentification par mot de passe avec le fichier de clé de compte de service, consultez la documentation authentication#auth-password.

Configurer npm

  1. Créez un package npm à importer. Si vous n'avez pas de package disponible à utiliser avec ce guide de démarrage rapide, exécutez la commande suivante pour créer un fichier package.json brut :

    npm init -y
    
  2. Configurez votre projet npm pour le déployer dans le dépôt Artifact Registry que vous avez créé.

    1. Exécutez la commande suivante. La commande renvoie les paramètres de configuration à ajouter à votre fichier de configuration npm.

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

      Le champ d'application quickstart est associé à votre dépôt. Lorsque vous incluez le champ d'application dans les commandes permettant de publier ou d'installer des packages, npm utilise votre dépôt. Lorsque vous publiez ou installez des packages sans champ d'application, le dépôt par défaut configuré est utilisé. Pour en savoir plus, consultez la présentation de Node.js.

      La sortie de la commande gcloud ressemble à ceci :

      @quickstart:registry=https://us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/
      //us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/:_authToken=""
      //us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/:always-auth=true
      
    2. Ajoutez les paramètres de configuration de l'étape précédente au fichier .npmrc de votre projet. Le fichier se trouve généralement dans le même répertoire que le fichier package.json.

      Remplacez PROJECT par l'ID du projet.

      Pour en savoir plus sur le fichier .npmrc, consultez la présentation de Node.js.

Chaque dépôt de packages Artifact Registry Node.js est associé à un point de terminaison de registre npm https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY. Si vous créez un autre dépôt de packages Node.js d'Artifact Registry, npm interagit avec celui-ci en tant que registre distinct avec son propre champ d'application.

Importer un package dans le dépôt

  1. Sélectionnez un package à importer. Assurez-vous que le nom du package dans package.json inclut le champ d'application quickstart.

    "name": "@quickstart/my-package"
    
  2. Actualisez le jeton d'accès pour vous connecter au dépôt. google-artifactregistry-auth est une bibliothèque cliente qui met à jour les identifiants pour les dépôts Artifact Registry. Pour actualiser les identifiants, utilisez l'une des options suivantes :

    • Ajoutez un script au fichier package.json dans votre projet.

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

      Exécutez le script avec la commande suivante :

      npm run artifactregistry-login PROJECT-NPMRC
      

      PROJECT-NPMRC est le chemin d'accès au fichier .npmrc dans le répertoire de votre projet.

    • Pour les versions de npm antérieures à 5.2.0, procédez comme suit :

      1. Exécutez la commande suivante :
      npm install google-artifactregistry-auth --save-dev --registry https://registry.npmjs.org/
      
      1. Ajoutez-la à un script d'authentification :
      "scripts": {
          "artifactregistry-login": "./node_modules/.bin/artifactregistry-auth",
      }
      

      Exécutez le script avec la commande suivante :

      npm run artifactregistry-login PROJECT-NPMRC
      

      PROJECT-NPMRC est le chemin d'accès au fichier .npmrc dans le répertoire de votre projet.

  3. Ajoutez votre package au dépôt. Vous pouvez utiliser une commande npm ou yarn.

    npm publish
    
    yarn publish
    

Afficher le package dans le dépôt

Pour vérifier que votre package a bien été ajouté au dépôt :

Console

  1. Ouvrez la page Dépôts dans Cloud Console.

    Ouvrir la page "Dépôts"

  2. Dans la liste des dépôts, cliquez sur le dépôt quickstart-nodejs-repo.

    La page Packages répertorie les packages du dépôt.

  3. Cliquez sur un package pour afficher ses versions.

gcloud

Pour répertorier les images dans le dépôt quickstart-nodejs-repo par défaut, exécutez la commande suivante :

 gcloud artifacts packages list

Pour afficher les versions d'un package, exécutez la commande suivante :

gcloud artifacts versions list --package=PACKAGE

PACKAGE correspond à l'ID de package.

Installer des packages

Pour installer un package à partir du dépôt de packages Node.js, utilisez la commande npm install ou yarn add. Remplacez PACKAGE par le nom du package.

npm install @quickstart/PACKAGE
yarn add @quickstart/PACKAGE

Nettoyer

Pour éviter que les ressources utilisées dans ce guide de démarrage rapide soient facturées sur votre compte Google Cloud, procédez comme suit :

Avant de supprimer un dépôt, assurez-vous que tous les packages que vous souhaitez conserver sont disponibles dans un autre emplacement.

Pour supprimer le dépôt :

Console

  1. Ouvrez la page Dépôts dans Cloud Console.

    Ouvrir la page "Dépôts"

  2. Dans la liste des dépôts, sélectionnez le dépôt quickstart-nodejs-repo.

  3. Cliquez sur Supprimer.

gcloud

  1. Pour supprimer le dépôt quickstart-nodejs-repo, exécutez la commande suivante :

    gcloud artifacts repositories delete quickstart-nodejs-repo
    
  2. Si vous souhaitez supprimer le dépôt par défaut et les paramètres d'emplacement que vous avez définis pour la configuration gcloud active, exécutez les commandes suivantes :

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

Étape suivante