Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Azure Artifacts umožňuje vývojářům spravovat balíčky z různých zdrojů, včetně veřejných registrů, jako je npmjs.com, a soukromých kanálů. Pokud se chcete ověřit pomocí Azure Artifacts, musíte nakonfigurovat konfigurační soubor .npmrc . Tento soubor ukládá adresy URL informačního kanálu a přihlašovací údaje používané nástrojem npm a umožňuje přizpůsobit chování klienta, jako je nastavení proxy serverů, definování výchozích umístění balíčků nebo konfigurace přístupu k privátním informačním kanálům. Soubor .npmrc se obvykle nachází v domovském adresáři uživatele, ale lze ho vytvořit také na úrovni projektu a přepsat výchozí nastavení.
Požadavky
Připojte se k informačnímu kanálu
Azure Artifacts doporučuje používat dva samostatné konfigurační soubory .npmrc . Jedna položka by měla být uložena místně pro ukládání vašich přihlašovacích údajů, zatímco druhá by měla být přidána do adresáře projektu vedle vašeho package.json pro definování adresy URL vašeho informačního kanálu. Tento přístup umožňuje sdílet konfiguraci na úrovni projektu bez zveřejnění citlivých informací.
Pokud chcete nastavit soubor s přihlašovacími údaji, vytvořte nebo aktualizujte soubor .npmrc a zahrňte všechny nezbytné přihlašovací údaje registru. To umožňuje klientovi npm snadno přistupovat k vašim přihlašovacím údajům pro ověřování.
Následující kroky vás provedou nastavením konfiguračního souboru na úrovni projektu. Vyberte kartu odpovídající vašemu vývojovému prostředí:
Poznámka
vsts-npm-auth
azure DevOps Server nepodporuje.
Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.
Vyberte Artefakty a pak v rozevírací nabídce vyberte svůj informační kanál.
Vyberte Připojit k informačnímu kanálu a pak v levém navigačním podokně vyberte npm .
Přidejte do projektu soubor .npmrc ve stejném adresáři jako package.json a vložte do souboru zadaný fragment kódu z oddílu Nastavení projektu .
Spuštěním následujícího příkazu získejte token Azure Artifacts přidaný do souboru .npmrc na úrovni uživatele. Tento příkaz nemusíte spouštět pokaždé—npm vrátí chybu 401 Neautorizováno, když nastane čas pro obnovu tokenu.
vsts-npm-auth -config .npmrc
Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.
Vyberte Artefakty a pak v rozevírací nabídce vyberte svůj informační kanál.
Vyberte Připojit k informačnímu kanálu a pak v levém navigačním podokně vyberte npm .
Do adresáře projektu přidejte soubor .npmrc . Měl by to být stejný adresář, ve kterém se nachází váš souborpackage.json .
Vložte fragment kódu uvedený v části Nastavení projektu do souboru .npmrc . Soubor by měl vypadat nějak takto:
registry=https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Nastavení přihlašovacích údajů
Zkopírujte následující fragment kódu a vložte ho do souboru npmrc na úrovni uživatele:
Kanál v rámci organizace:
; 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
projektem definovaný kanál:
; 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
Vygenerujte osobní přístupový token s obory balení pro čtení a zápis.
V okně příkazového řádku spusťte následující příkaz. Po zobrazení výzvy vložte osobní přístupový token (PAT) a stiskněte Enter. Skript vrátí verzi PAT s kódováním Base64 a zkopíruje tuto hodnotu, kterou použijete v dalším kroku.
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(); })"
Pokud používáte Linux nebo macOS, můžete v terminálu spustit následující příkaz, který převede token PAT (Personal Access Token) na řetězec s kódováním Base64. Zkopírujte výslednou hodnotu, kterou chcete použít v dalším kroku.
echo -n "YOUR_PERSONAL_ACCESS-TOKEN" | base64
Zástupné symboly [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] v souboru .npmrc na úrovni uživatele nahraďte osobním přístupovým tokenem zakódovaným v Base64, který jste vygenerovali v předchozím kroku.
Přihlaste se ke své kolekci Azure DevOps a přejděte do svého projektu.
Vyberte Artefakty, v rozevírací nabídce vyberte svůj kanál a pak vyberte Připojit k kanálu.
Vyberte npm zleva a pak podle pokynů v části Nastavení projektu nakonfigurujte soubor .npmrc. Nahrajte a ověřte to pomocí svého informačního kanálu.
Přihlaste se ke své kolekci Azure DevOps a přejděte do svého projektu.
Vyberte Artefakty a pak v rozevírací nabídce vyberte svůj informační kanál.
Vyberte Připojit k informačnímu kanálu a pak v levém navigačním podokně vyberte npm .
Do adresáře projektu přidejte soubor .npmrc ve stejném adresáři jako souborpackage.json a vložte fragment kódu uvedený v části Nastavení projektu do souboru .npmrc . Soubor by měl vypadat nějak takto:
registry=http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Nastavení přihlašovacích údajů
Zkopírujte následující fragment kódu a vložte ho do souboru .npmrc na úrovni uživatele:
informační kanál omezený na rozsah kolekce
; 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
projektem definovaný kanál:
; 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
Vygenerujte osobní přístupový token s obory balení pro čtení a zápis.
V okně příkazového řádku spusťte následující příkaz. Po zobrazení výzvy vložte osobní přístupový token a stiskněte Enter. Skript vrátí verzi PAT s kódováním Base64 a zkopíruje tuto hodnotu, kterou použijete v dalším kroku.
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(); })"
Zástupné symboly [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] v souboru .npmrc na úrovni uživatele nahraďte osobním přístupovým tokenem Base64 kódovaným, který jste vygenerovali v předchozím kroku.
Přihlaste se ke své kolekci Azure DevOps a přejděte do svého projektu.
Vyberte Artefaktya pak vyberte Připojit k informačnímu kanálu.
Vyberte npm zleva a pak podle pokynů v části Nastavení projektu nakonfigurujte soubor .npmrc. Nahrajte a ověřte pomocí svého zdroje.
Přihlaste se ke své kolekci Azure DevOps a přejděte do svého projektu.
Vyberte Artefakty a pak v rozevírací nabídce vyberte svůj informační kanál.
Vyberte Připojit k informačnímu kanálu a pak v levém navigačním podokně vyberte npm .
Do adresáře projektu přidejte soubor .npmrc ve stejném adresáři jako souborpackage.json a vložte fragment kódu uvedený v části Nastavení projektu do souboru .npmrc . Soubor by měl vypadat nějak takto:
registry=http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Poznámka
V případě debianu, Ubuntu a jiných distribucí komunity nebo podniku, jako je Fedora nebo Redhat, se ujistěte, že jste nainstalovali požadavky z úložiště distribuce NodeSource.
Nastavení přihlašovacích údajů
Zkopírujte následující fragment kódu a vložte ho do souboru .npmrc na úrovni uživatele:
informační kanál omezený na rozsah kolekce
; 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
projektem definovaný kanál:
; 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
Vygenerujte osobní přístupový token s obory balení pro čtení a zápis.
V okně příkazového řádku spusťte následující příkaz. Po zobrazení výzvy vložte osobní přístupový token a stiskněte Enter. Skript vrátí verzi PAT s kódováním Base64 a zkopíruje tuto hodnotu, kterou použijete v dalším kroku.
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(); })"
Nahraďte zástupné symboly [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] ve svém uživatelském souboru .npmrc Base64-kódovaným osobním přístupovým tokenem, který jste vygenerovali v předchozím kroku.
Související obsah