az npm-projekt Csatlakozás az Azure Artifacts-hírcsatornákba
Cikk
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Az Azure Artifacts lehetővé teszi a fejlesztők számára, hogy különböző csomagtípusokat tegyenek közzé és telepítsenek hírcsatornákból és nyilvános nyilvántartásokból, például npmjs.com. Az Azure Artifacts használatával történő hitelesítéshez konfigurálnia kell az npm konfigurációs fájlját.
Ez a fájl tartalmazza az npm által használt hírcsatorna URL-címeit és hitelesítő adatait, és olyan beállításokat kínál, amelyekkel testre szabhatja az npm-ügyfél viselkedését, például proxykat állíthat be, alapértelmezett csomaghelyeket definiálhat, vagy privát csomagcsatornákat konfigurálhat. Az .npmrc fájl általában a felhasználó kezdőlapján található, de a projekt szintjén is létrehozható az alapértelmezett beállítások felülbírálásához. Az .npmrc fájl módosításával a felhasználók személyre szabhatják az npm-élményt, hogy megfeleljenek az adott követelményeknek.
Előfeltételek
Egy Azure DevOps-szervezet és egy projekt. Ha még nem tette meg, hozzon létre egy szervezetet vagy projektet.
Az ajánlott eljárásokhoz ajánlott két különálló konfigurációs fájlt használni. Az első az Azure Artifacts hitelesítésére szolgál, míg a második helyileg van tárolva, és a hitelesítő adatokat tárolja.
A második fájl beállításához egyszerűen helyezze a kezdőkönyvtárba a fejlesztőgépen, és adja meg az összes beállításjegyzékbeli hitelesítő adatait. Így az npm-ügyfél egyszerűen hozzáférhet a hitelesítő adataihoz hitelesítés céljából, így megoszthatja a konfigurációs fájlt, miközben a hitelesítő adatok biztonságban maradnak.
Az alábbi lépések végigvezetik az első konfigurációs fájl beállításán:
Feljegyzés
vsts-npm-auth az Azure DevOps Server nem támogatja.
Jelentkezzen be az Azure DevOps-szervezetbe, és lépjen a projekthez.
Válassza az Összetevők lehetőséget, majd válassza a Csatlakozás a hírcsatornához.
Válassza az npm lehetőséget a bal oldali navigációs panelen.
Ha most először használja az Azure Artifactst npm-lel, válassza az Eszközök lekérése lehetőséget, és kövesse az utasításokat az előfeltételek telepítéséhez.
A hírcsatornához való csatlakozáshoz kövesse a Project beállításának utasításait.
Vegyen fel egy .npmrc-fájlt a projekt könyvtárába, ugyanabban a könyvtárban, mint a package.json fájl, és másolja bele a következő kódrészletet.
Másolja a következő kódrészletet a felhasználói szintű npmrc-fájlba :
Szervezeti hatókörű hírcsatorna:
; 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
Projekt hatókörű hírcsatorna:
; 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
Személyes hozzáférési jogkivonat létrehozása olvasási és írási hatókörök csomagolásával.
Az újonnan létrehozott személyes hozzáférési jogkivonat kódolása az alábbiak szerint történik:
Futtassa a következő parancsot egy parancssori ablakban, majd illessze be a személyes hozzáférési jogkivonatot, amikor a rendszer kéri:
A személyes hozzáférési jogkivonatot a következő paranccsal is konvertálhatja Base 64-esre.
Linux/Mac:
echo -n "YOUR_PERSONAL_ACCESS-TOKEN" | base64
Másolja ki a Base 64 kódolású értéket.
Cserélje le mindkét [BA Standard kiadás 64_ENCODED_PERSONAL_ACCESS_TOKEN] értéket a felhasználói .npmrc fájlban a 3. lépésben szereplő személyes hozzáférési jogkivonatra.
Válassza ki a gyűjteményt, majd lépjen a projekthez.
Válassza az Összetevők lehetőséget, majd válassza a Csatlakozás a hírcsatornához.
Válassza az npm lehetőséget a bal oldali navigációs panelen.
Ha most először használja az Azure Artifactst npm-lel, válassza az Eszközök lekérése lehetőséget, és kövesse az utasításokat az előfeltételek telepítéséhez.
A konfigurációs fájl beállításához kövesse a Project beállításának utasításait.
Vegyen fel egy .npmrc-fájlt a projekt könyvtárába, ugyanabban a könyvtárban, mint a package.json fájl, és másolja bele a következő kódrészletet.
Másolja a következő kódrészletet a felhasználói szintű .npmrc fájlba:
Gyűjtemény hatókörű hírcsatorna:
; 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
Projekt hatókörű hírcsatorna:
; 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
Személyes hozzáférési jogkivonat létrehozása olvasási és írási hatókörök csomagolásával.
Az újonnan létrehozott személyes hozzáférési jogkivonat kódolása az alábbiak szerint történik:
Futtassa a következő parancsot egy parancssori ablakban, majd illessze be a személyes hozzáférési jogkivonatot, amikor a rendszer kéri:
Cserélje le mindkét [BA Standard kiadás 64_ENCODED_PERSONAL_ACCESS_TOKEN] értéket a felhasználói .npmrc fájlban a 3. lépésben szereplő személyes hozzáférési jogkivonatra.
Válassza ki a gyűjteményt, majd lépjen a projekthez.
Válassza az Összetevők lehetőséget, majd válassza a Csatlakozás a hírcsatornához.
Válassza az npm lehetőséget a bal oldali navigációs panelen.
Ha most először használja az Azure Artifactst npm-lel, válassza az Eszközök lekérése lehetőséget, és kövesse az utasításokat az előfeltételek telepítéséhez.
A konfigurációs fájl beállításához kövesse a Project beállításának utasításait.
Vegyen fel egy .npmrc-fájlt a projekt könyvtárába, ugyanabban a könyvtárban, mint a package.json fájl, és másolja bele a következő kódrészletet.
Másolja a következő kódrészletet a felhasználói szintű .npmrc fájlba:
Gyűjtemény hatókörű hírcsatorna:
; 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
Projekt hatókörű hírcsatorna:
; 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
Személyes hozzáférési jogkivonat létrehozása olvasási és írási hatókörök csomagolásával.
Az újonnan létrehozott személyes hozzáférési jogkivonat kódolása az alábbiak szerint történik:
Futtassa a következő parancsot egy parancssori ablakban, majd illessze be a személyes hozzáférési jogkivonatot, amikor a rendszer kéri:
Cserélje le mindkét [BA Standard kiadás 64_ENCODED_PERSONAL_ACCESS_TOKEN] értéket a felhasználói .npmrc fájlban a 3. lépésben szereplő személyes hozzáférési jogkivonatra.
Válassza ki a gyűjteményt, majd lépjen a projekthez.
Válassza az Összetevők lehetőséget, majd válassza a Csatlakozás a hírcsatornához.
Ekkor megjelenik egy új ablak. A bal oldali navigációs panelen válassza az npm lehetőséget.
Kövesse az utasításokat a projekt és a felhasználó .npmrc fájljainak konfigurálásához.
A folyamattal való hitelesítéshez az Azure Artifacts az npm hitelesítési feladat használatát javasolja.
Ha olyan feladatfuttatókat használ, mint a gulp vagy a Grunt, fontos, hogy az npm-hitelesítést a folyamat elején adja meg. Ez a művelet biztosítja, hogy a hitelesítő adatok be legyenek ágyazva a projekt .npmrc fájljába, és a folyamatfuttatás során megmaradjanak, így a konfigurációs fájlban lévő hitelesítő adatokhoz való hozzáférés további lépései is lehetővé teszik.
Lépjen a projekthez, válassza a Folyamatok lehetőséget, majd válassza ki a folyamatdefiníciót.
A folyamat módosításához válassza a Szerkesztés lehetőséget.
Válassza ki + , ha új feladatot szeretne hozzáadni a folyamathoz.
Lépjen a projekthez, válassza a Pipelines Builds> elemet, majd válassza ki a builddefiníciót.
Válassza a Szerkesztés lehetőséget a buildelési folyamat módosításához.
Válassza ki + , ha új feladatot szeretne hozzáadni a buildelési folyamathoz.
Keresse meg az npm-hitelesítési feladatot, majd válassza a Hozzáadás lehetőséget.
Válassza ki az .npmrc fájlt, majd amikor végzett, válassza a Mentés > üzenetsor lehetőséget.
- task: npmAuthenticate@0
inputs:
workingFile: .npmrc ## Path to the npmrc file
customEndpoint: #Optional ## Comma-separated list of npm service connection names for registries from external organizations. For registries in your org, leave this blank
Feljegyzés
Ahhoz, hogy a folyamat hozzáférhessen a hírcsatornához, győződjön meg arról, hogy a buildszolgáltatás szerepköre a hírcsatorna beállításai között a Feed And Upstream Reader (Közreműködő) értékre van állítva.
Feljegyzés
Ha a szervezet tűzfalat vagy proxykiszolgálót használ, győződjön meg arról, hogy engedélyezi a megfelelő tartományi URL-címeket. Részletekért lásd: Engedélyezett IP-címek és tartomány URL-címek .
Hibaelhárítás
a vsts-npm-auth nem ismerhető fel
Ha a projekt végrehajtása során a következő hibát tapasztalja:
Cmd: 'vsts-npm-auth' is not recognized as an internal or external command, operable program or batch file.
PowerShell: vsts-npm-auth : The term 'vsts-npm-auth' is not recognized as the name of a cmdlet, function, script file, or operable program.
Akkor valószínű, hogy az npm-modulok mappája nem lett hozzáadva az elérési úthoz. A probléma megoldásához futtassa újra a Node.js beállítást, és mindenképpen válassza ki a Add to PATH lehetőséget.
Másik lehetőségként hozzáadhatja az npm-modulok mappát az elérési úthoz úgy, hogy %APPDATA%\npm a PATH változót a parancssorban vagy $env:APPDATA\npm a PowerShellben módosítja.
Nem lehet hitelesíteni
Ha E401-hiba lép fel: code E401 npm ERR! Unable to authenticate. Futtassa a parancsot -vsts-npm-authF jelölővel az újrahitelesítéshez.
vsts-npm-auth -config .npmrc -F
A vsts-npm-auth alaphelyzetbe állítása
A vsts-npm-auth hitelesítő adatainak alaphelyzetbe állításához kövesse az alábbi lépéseket:
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ: https://aka.ms/ContentUserFeedback.
Visszajelzés küldése és megtekintése a következőhöz: