Publier des packages npm avec Azure Pipelines (YAML/Classic)

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Avec Azure Pipelines, vous pouvez publier vos packages npm dans des flux Azure Artifacts ou des registres publics comme npmjs.com. Cet article vous guidera dans la publication de vos packages npm en utilisant les pipelines YAML et Classic.

Prérequis

Publier dans des flux Azure Artifacts

Remarque

Pour publier vos packages dans un flux à l'aide d'Azure Pipelines, assurez-vous que le service de build de la collection de projets et l'identité du service de build de votre projet sont tous deux configurés en tant qu'éditeur de flux (contributeur). Pour obtenir des informations plus détaillées, consultez Ajouter de nouveaux utilisateurs/groupes.

- task: Npm@1
  inputs:
    command: publish
    publishRegistry: useFeed
    publishFeed: <FEED_NAME>        ## For project-scoped feeds, use: <PROJECT_NAME>/<FEED_NAME> 
  • publishRegistry : sélectionnez useFeed pour utiliser un flux au sein de votre organisation. Options : useExternalRegistry, useFeed
  • publishFeed : le flux sur lequel vous souhaitez publier. Obligatoire quand publishRegistry = useFeed.

Conseil

Lorsque vous ajoutez la tâche npm à votre pipeline YAML à l'aide de l'éditeur YAML, les ID de projet et de flux pour votre publishFeed seront générés automatiquement.

Publier dans un registre public

Avant de publier vos packages sur un registre npm public tel que npmjs.com, vous devez d'abord créer une connexion de service pour vous authentifier auprès du service externe souhaité.

  1. Connectez-vous à votre organisation Azure DevOps puis accédez à votre projet.

  2. Sélectionnez Paramètres du projet>Connexions de service, puis sélectionnez Créer une connexion de service.

    Une capture d'écran qui montre comment créer une nouvelle connexion de service dans Azure DevOps.

  3. Sélectionnez npm, puis sélectionnez Suivant. Remplissez les champs obligatoires, puis sélectionnez Enregistrer lorsque vous avez terminé.

- task: Npm@1
  inputs:
    command: publish
    publishRegistry: useExternalRegistry
    publishEndpoint: '<NAME_OF_YOUR_SERVICE_CONNECTION>'
  • publishRegistry : Sélectionnez useExternalRegistry pour publier dans un registre public. Options : useExternalRegistry | useFeed.
  • publishEndpoint : remplacez l'espace réservé par le nom de la connexion de service que vous avez créée précédemment. requis lorsque publishRegistry == useExternalRegistry.