Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Azure Artifacts använder .npmrc-konfigurationsfilen för att autentisera npm-klienter med feeds. Den rekommenderade installationen behåller feedkonfigurationen och autentiseringsuppgifterna i två separata .npmrc-filer : en fil på projektnivå (incheckad tillsammans med din package.json) som lagrar feed-URL:en och en fil på användarnivå (aldrig bekräftad) som lagrar dina autentiseringsuppgifter.
Förutsättningar
|
Produkt |
Krav |
|
Azure DevOps |
– En organisation i Azure DevOps . – Ett Azure DevOps-projekt. – Ett Azure Artifacts-flöde. – Ladda ned Node.js och npm. |
Ansluta till ett flöde
Välj den flik som matchar operativsystemet och följ stegen för att konfigurera .npmrc-filerna :
Not
vsts-npm-auth stöds inte i Azure DevOps Server.
Logga in på din Azure DevOps-organisation och gå sedan till projektet.
Välj Artefakter och välj sedan din feed från den nedrullningsbara menyn.
Välj Anslut till feed och välj sedan npm i det vänstra navigeringsfönstret.
Om du inte installerade vsts-npm-authkör du följande kommando:
npm install -g vsts-npm-auth --registry https://registry.npmjs.com --always-auth false
Lägg till en .npmrc-fil i din project i samma katalog som , package.jsonoch klistra sedan in kodfragmentet från avsnittet Project installation i filen.
Kör följande kommando för att lägga till en token i .npmrc-filen på användarnivå. npm returnerar ett 401 Obehörigt fel när token upphör att gälla – kör det här kommandot igen för att uppdatera den.
vsts-npm-auth -config .npmrc
Logga in på din Azure DevOps-organisation och gå sedan till projektet.
Välj Artefakter och välj sedan din feed från den nedrullningsbara menyn.
Välj Anslut till feed och välj sedan npm i det vänstra navigeringsfönstret.
Lägg till en .npmrc-fil i din project i samma katalog som , package.jsonoch klistra sedan in kodfragmentet från avsnittet Project installation i filen. Filen bör se ut ungefär så här:
registry=https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
Konfigurera autentiseringsuppgifter
Kopiera följande kodfragment och klistra in det i npmrc--fil på användarnivå:
Organisationsspecifikt flöde:
; 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=[ENTER_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
projektspecifik feed:
; 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
Generera en personlig åtkomsttoken med Packaging>läs- och skrivbehörighet.
Base64-koda din PAT med någon av följande metoder:
Node.js (alla plattformar): Kör följande kommando, ange din PAT när du uppmanas till det och kopiera det resulterande värdet.
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(); })"
macOS eller Linux: Kör följande kommando och kopiera utdata.
echo -n "YOUR_PERSONAL_ACCESS_TOKEN" | base64
[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] Ersätt platshållarna i .npmrc-filen på användarnivå med det kodade värdet.
Logga in på din Azure DevOps-samling och gå sedan till projektet.
Välj Artifacts, välj din feed i rullgardinsmenyn och välj sedan Anslut till feed.
Välj npm och följ sedan stegen i avsnittet Project konfiguration för att konfigurera .npmrc-filen och autentisera med ditt flöde.
Logga in på din Azure DevOps-samling och gå sedan till projektet.
Välj Artefakter och välj sedan din feed från den nedrullningsbara menyn.
Välj Anslut till feed och välj sedan npm i det vänstra navigeringsfönstret.
Lägg till en .npmrc-fil i din project i samma katalog som , package.jsonoch klistra sedan in kodfragmentet från avsnittet Project installation i filen. Filen bör se ut ungefär så här:
registry=http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
Konfigurera autentiseringsuppgifter
Kopiera följande kodfragment och klistra in det i .npmrc--fil på användarnivå:
Samlingsbegränsat flöde:
; 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
projektspecifik feed:
; 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
Generera en personlig åtkomsttoken med Packaging>läs- och skrivbehörighet.
Kör följande kommando, ange din PAT när du uppmanas till det och kopiera sedan det resulterande Base64-kodade värdet.
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(); })"
[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] Ersätt platshållarna i .npmrc-filen på användarnivå med det kodade värdet.
Relaterat innehåll