Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
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(); })"
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
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 d’installation de Project pour configurer votre fichier .npmrc. et vous authentifier avec 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 d’installation 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(); })"
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, puis sélectionnez Se connecter au flux.
Sélectionnez npm à gauche, puis suivez les étapes décrites dans la section d’installation de Project pour configurer votre fichier .npmrc. et vous authentifier avec 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 d’installation 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
Remarque
Pour Debian, Ubuntu et d’autres distributions de communauté ou d’entreprise telles que Fedora ou Redhat, vérifiez que vous avez installé les prérequis à partir du référentiel de distributions NodeSource.
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(); })"
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