Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Azure Artifacts permet aux développeurs de gérer des packages à partir de différentes sources, notamment des registres publics tels que des npmjs.com et des flux privés. Pour vous authentifier auprès d’Azure Artifacts, vous devez configurer votre fichier de configuration npmrc . Ce fichier stocke les URL de flux et les informations d’identification utilisées par npm, et vous permet de personnaliser le comportement du client, comme la configuration des proxys, la définition des emplacements de package par défaut ou la configuration de l’accès aux flux privés. Le fichier npmrc se trouve généralement dans le répertoire de base de l’utilisateur, mais peut également être créé au niveau du projet pour remplacer les paramètres par défaut.
Conditions préalables
Se connecter à un flux
Azure Artifacts recommande d’utiliser deux fichiers de configuration .npmrc distincts. Il doit être stocké localement pour stocker vos informations d’identification, tandis que l’autre doit être ajouté à votre répertoire de projet en même temps que votrepackage.json pour définir votre URL de flux. Cette approche vous permet de partager votre configuration au niveau du projet sans exposer d’informations sensibles.
Pour configurer le fichier d’informations d’identification, créez ou mettez à jour le fichier .npmrc et incluez toutes les informations d’identification de Registre nécessaires. Cela permet au client npm d’accéder facilement à vos informations d’identification pour l’authentification.
Les étapes suivantes vous guident tout au long de la configuration du fichier de configuration au niveau du projet. Sélectionnez l’onglet correspondant à votre environnement de développement :
Remarque
vsts-npm-auth n’est pas pris en charge dans Azure DevOps Server.
Connectez-vous à votre organisation Azure DevOps, puis accédez à votre projet.
Sélectionnez Artefacts, puis sélectionnez votre flux dans le menu déroulant.
Sélectionnez Se connecter au flux , puis sélectionnez npm dans le volet de navigation gauche.
Ajoutez un fichier .npmrc à votre projet, dans le même répertoire que votre package.json et collez l’extrait de code fourni à partir de la section d’installation du projet dans le fichier.
Exécutez la commande suivante pour obtenir un jeton Azure Artifacts ajouté à votre fichier .npmrc au niveau de l’utilisateur. Vous n’avez pas besoin de l’exécuter à chaque fois : npm retourne une erreur 401 non autorisée lorsqu’il est temps d’actualiser le jeton.
vsts-npm-auth -config .npmrc
Connectez-vous à votre organisation Azure DevOps, puis accédez à votre projet.
Sélectionnez Artefacts, puis sélectionnez votre flux dans le menu déroulant.
Sélectionnez Se connecter au flux , puis sélectionnez npm dans le volet de navigation gauche.
Ajoutez un fichier .npmrc au répertoire de votre projet. Il doit s’agir du même répertoire que celui où se trouve votre fichier package.json .
Collez l’extrait de code fourni dans la section d’installation de Project dans votre fichier .npmrc . Votre fichier doit ressembler à ce qui suit :
registry=https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Configurer les informations d’identification
Copiez l’extrait de code suivant et collez-le dans votre fichier npmrc de niveau utilisateur :
Flux à l'échelle de l'organisation :
; begin auth token
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/:username=[ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Flux à l'échelle du projet :
; begin auth token
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Générez un jeton d’accès personnel avec les étendues Gestion des packages, lecture et écriture.
Exécutez la commande suivante dans une fenêtre d’invite de commandes. Lorsque vous y êtes invité, collez votre jeton d’accès personnel (PAT) et appuyez sur Entrée. Le script retourne une version encodée en Base64 de votre PAT, copiez cette valeur à utiliser à l’étape suivante.
node -e "require('readline') .createInterface({input:process.stdin,output:process.stdout,historySize:0}) .question('PAT> ',p => { b64=Buffer.from(p.trim()).toString('base64');console.log(b64);process.exit(); })"
Remarque
Depuis juillet 2024, les jetons d’accès personnels Azure DevOps (PAT) sont de 82 caractères. Certains outils peuvent insérer des sauts de ligne automatiques lors de l’encodage de jetons vers Base64. Pour éviter cela, utilisez l’indicateur -w0 avec la commande base64 pour vous assurer que la sortie reste sur une seule ligne.
Dans ce tutoriel, nous utilisons la méthode Buffer de Node, qui produit une chaîne Base64 à ligne unique par défaut.
Si vous utilisez Linux ou macOS, vous pouvez exécuter la commande suivante dans votre terminal pour convertir votre jeton d’accès personnel (PAT) en chaîne codée en base64. Copiez la valeur résultante à utiliser à l’étape suivante.
echo -n "YOUR_PERSONAL_ACCESS-TOKEN" | base64 -w0
Remplacez les espaces réservés [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] dans votre fichier npmrc au niveau de l’utilisateur par le jeton d’accès personnel codé en Base64 que vous avez généré à l’étape précédente.
Connectez-vous à votre collection Azure DevOps, puis accédez à votre projet.
Sélectionnez Artefacts, sélectionnez votre flux dans le menu déroulant, puis sélectionnez Se connecter au flux.
Sélectionnez npm à gauche, puis suivez les étapes décrites dans la section Configuration du projet pour configurer votre fichier npmrc et vous authentifier auprès de votre flux.
Connectez-vous à votre collection Azure DevOps, puis accédez à votre projet.
Sélectionnez Artefacts, puis sélectionnez votre flux dans le menu déroulant.
Sélectionnez Se connecter au flux , puis sélectionnez npm dans le volet de navigation gauche.
Ajoutez un fichier .npmrc dans le répertoire de votre projet, dans le même répertoire que votre fichier package.json , puis collez l’extrait de code fourni dans la section Configuration de Project dans votre fichier npmrc . Votre fichier doit ressembler à ce qui suit :
registry=http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Configurer les informations d’identification
Copiez l’extrait de code suivant et collez-le dans votre fichier .npmrc de niveau utilisateur :
Flux à portée de collection :
; begin auth token
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=DefaultCollection
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:username=DefaultCollection
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Flux à l'échelle du projet :
; begin auth token
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Générez un jeton d’accès personnel avec les étendues Gestion des packages, lecture et écriture.
Exécutez la commande suivante dans une fenêtre d’invite de commandes. Lorsque vous y êtes invité, collez votre jeton d’accès personnel et appuyez sur Entrée. Le script retourne une version encodée en Base64 de votre PAT, copiez cette valeur à utiliser à l’étape suivante.
node -e "require('readline') .createInterface({input:process.stdin,output:process.stdout,historySize:0}) .question('PAT> ',p => { b64=Buffer.from(p.trim()).toString('base64');console.log(b64);process.exit(); })"
Remarque
Depuis juillet 2024, les jetons d’accès personnels Azure DevOps (PAT) sont de 82 caractères. Certains outils peuvent insérer des sauts de ligne automatiques lors de l’encodage de jetons vers Base64. Pour éviter cela, utilisez l’indicateur -w0 avec la commande base64 pour vous assurer que la sortie reste sur une seule ligne.
Dans ce tutoriel, nous utilisons la méthode Buffer de Node, qui produit une chaîne Base64 à ligne unique par défaut.
Remplacez les espaces réservés [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] dans votre fichier .npmrc au niveau de l’utilisateur par le jeton d’accès personnel codé en Base64 que vous avez généré à l’étape précédente.
Contenu connexe