Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Met Azure Artifacts kunnen ontwikkelaars pakketten van verschillende bronnen beheren, waaronder openbare registers zoals npmjs.com en privéfeeds. Als u wilt verifiëren met Azure Artifacts, moet u uw npmrc-configuratiebestand configureren. In dit bestand worden feed-URL's en referenties opgeslagen die worden gebruikt door npm en kunt u het clientgedrag aanpassen, zoals het instellen van proxy's, het definiëren van standaardpakketlocaties of het configureren van toegang tot privéfeeds. Het npmrc-bestand bevindt zich meestal in de basismap van de gebruiker, maar kan ook worden gemaakt op projectniveau om standaardinstellingen te overschrijven.
Benodigdheden
Verbinding maken met een feed
Azure Artifacts raadt aan twee afzonderlijke npmrc-configuratiebestanden te gebruiken. De ene moet lokaal worden opgeslagen om uw referenties op te slaan, terwijl de andere moet worden toegevoegd aan uw projectmap naast uw package.json om uw feed-URL te definiëren. Met deze methode kunt u uw configuratie op projectniveau delen zonder gevoelige informatie beschikbaar te maken.
Als u het referentiebestand wilt instellen, maakt of werkt u het npmrc-bestand bij en neemt u alle benodigde registerreferenties op. Hierdoor heeft de NPM-client eenvoudig toegang tot uw referenties voor verificatie.
De volgende stappen helpen u bij het instellen van het configuratiebestand op projectniveau. Selecteer het tabblad dat overeenkomt met uw ontwikkelomgeving:
Notitie
vsts-npm-auth wordt niet ondersteund in Azure DevOps Server.
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Artefacten en selecteer vervolgens uw feed in de vervolgkeuzelijst.
Selecteer Verbinding maken met feed en selecteer vervolgens npm in het linkernavigatiedeelvenster.
Als dit de eerste keer is dat u Azure Artifacts gebruikt met npm, selecteert u De hulpprogramma's ophalen en volgt u de instructies om de vereisten te installeren. U moet eerst Node.js en npm downloaden en vervolgens vsts-npm-auth (Windows-gebruikers ) installeren of referenties instellen (niet-Windows-gebruikers), afhankelijk van uw besturingssysteem.
Voeg een .npmrc toe aan uw project, in dezelfde map als uw package.json en plak het opgegeven fragment uit de sectie Project setup in het bestand.
Voer de volgende opdracht uit om een Azure Artifacts-token op te halen dat is toegevoegd aan uw npmrc-bestand op gebruikersniveau. U hoeft dit niet elke keer uit te voeren. Npm retourneert een fout 401 Niet-geautoriseerd wanneer het tijd is om het token te vernieuwen.
vsts-npm-auth -config .npmrc
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Artefacten en selecteer vervolgens uw feed in de vervolgkeuzelijst.
Selecteer Verbinding maken met feed en selecteer vervolgens npm in het linkernavigatiedeelvenster.
Als dit de eerste keer is dat u Azure Artifacts gebruikt met npm, selecteert u De hulpprogramma's ophalen en volgt u de instructies om de vereisten te installeren. U moet eerst Node.js en npm downloaden en vervolgens vsts-npm-auth (Windows-gebruikers ) installeren of referenties instellen (niet-Windows-gebruikers), afhankelijk van uw besturingssysteem.
Voeg een NPMRC-bestand toe aan de map van uw project. Dit moet dezelfde map zijn als waarin uw package.json bestand zich bevindt.
Plak het fragment in de sectie Project setup in uw npmrc-bestand . Het bestand moet er ongeveer als volgt uitzien:
registry=https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Inloggegevens instellen
Kopieer het volgende fragment en plak het in uw gebruikersniveau-npmrc-bestand:
Organisatiegerichte feed:
; 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
Feed voor projectbereik:
; 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
Genereer een persoonlijk toegangstoken met lees- en schrijfrechten voor verpakkingen.
Voer de volgende opdracht uit in een opdrachtpromptvenster. Wanneer u hierom wordt gevraagd, plakt u uw persoonlijke toegangstoken (PAT) en drukt u op Enter. Het script retourneert een base64-gecodeerde versie van uw PAT, kopieer die waarde voor gebruik in de volgende stap.
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(); })"
Notitie
Vanaf juli 2024 zijn Azure DevOps Personal Access Tokens (PAT's) 82 tekens lang. Sommige hulpprogramma's kunnen automatische regeleindes invoegen bij het coderen van tokens naar Base64. Om dit te voorkomen, gebruikt u de -w0 vlag met de base64-opdracht om ervoor te zorgen dat de uitvoer op één regel blijft.
In deze zelfstudie gebruiken we de buffermethode van Node, die standaard een base64-tekenreeks met één regel produceert.
Als u Linux of macOS gebruikt, kunt u de volgende opdracht uitvoeren in uw terminal om uw persoonlijke toegangstoken (PAT) te converteren naar een met Base64 gecodeerde tekenreeks. Kopieer de resulterende waarde die u in de volgende stap wilt gebruiken.
echo -n "YOUR_PERSONAL_ACCESS-TOKEN" | base64 -w0
Vervang de tijdelijke aanduidingen [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] in uw npmrc-bestand op gebruikersniveau door het met Base64 gecodeerde persoonlijke toegangstoken dat u in de vorige stap hebt gegenereerd.
Meld u aan bij uw Azure DevOps-verzameling en navigeer vervolgens naar uw project.
Selecteer Artefacten, selecteer uw feed in de vervolgkeuzelijst en selecteer vervolgens Verbinding maken met feed.
Selecteer npm aan de linkerkant en volg vervolgens de stappen in de sectie Project-installatie om uw npmrc-bestand te configureren en te verifiëren met uw feed.
Meld u aan bij uw Azure DevOps-verzameling en navigeer vervolgens naar uw project.
Selecteer Artefacten en selecteer vervolgens uw feed in de vervolgkeuzelijst.
Selecteer Verbinding maken met feed en selecteer vervolgens npm in het linkernavigatiedeelvenster.
Voeg een NPMRC-bestand toe in de map van uw project, in dezelfde map als uw package.json-bestand en plak het fragment dat is opgegeven in de sectie Project-installatie in uw npmrc-bestand . Het bestand moet er ongeveer als volgt uitzien:
registry=http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Inloggegevens instellen
Kopieer het volgende fragment en plak het in uw gebruikersniveau-npmrc-bestand:
feed met verzamelingsbereik:
; 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
Feed voor projectbereik:
; 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
Genereer een persoonlijk toegangstoken met lees- en schrijfrechten voor verpakkingen.
Voer de volgende opdracht uit in een opdrachtpromptvenster. Wanneer u hierom wordt gevraagd, plakt u uw persoonlijke toegangstoken en drukt u op Enter. Het script retourneert een base64-gecodeerde versie van uw PAT, kopieer die waarde voor gebruik in de volgende stap.
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(); })"
Notitie
Vanaf juli 2024 zijn Azure DevOps Personal Access Tokens (PAT's) 82 tekens lang. Sommige hulpprogramma's kunnen automatische regeleindes invoegen bij het coderen van tokens naar Base64. Om dit te voorkomen, gebruikt u de -w0 vlag met de base64-opdracht om ervoor te zorgen dat de uitvoer op één regel blijft.
In deze zelfstudie gebruiken we de buffermethode van Node, die standaard een base64-tekenreeks met één regel produceert.
Vervang de tijdelijke aanduidingen [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] in uw npmrc-bestand op gebruikersniveau door het met Base64 gecodeerde persoonlijke toegangstoken dat u in de vorige stap hebt gegenereerd.
Verwante inhoud