Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ezzel a feladatával npm hitelesítő adatokat adhat meg egy .npmrc-fájlnak az adattárban a build hatóköréhez. Ez lehetővé teszi npm, valamint npm feladatfuttatók, például a Gulp és a Grunt számára, hogy privát regisztrációs adatbázisokkal hitelesítsék magukat.
Szinopszis
# npm authenticate (for task runners) v0
# Don't use this task if you're also using the npm task. Provides npm credentials to an .npmrc file in your repository for the scope of the build. This enables npm task runners like gulp and Grunt to authenticate with private registries.
- task: npmAuthenticate@0
inputs:
workingFile: # string. Required. .npmrc file to authenticate.
#customEndpoint: # string. Credentials for registries outside this organization/collection.
Bemenetek
workingFile
-
.npmrc-fájlt a hitelesítéséhez
string. Szükséges.
A használni kívánt adatbázisokat meghatározó .npmrc fájl elérési útja. Jelölje ki a fájlt, ne a mappát, például /packages/mypackage.npmrc.
customEndpoint
-
a szervezeten/gyűjteményen kívüli regisztrációs adatbázisok hitelesítő adatainak
string.
Az npm szolgáltatáskapcsolat vesszővel tagolt listája szervezeten vagy gyűjteményen kívüli regisztrációs adatbázisok neveit. A megadott .npmrc fájlnak tartalmaznia kell a szolgáltatáskapcsolatoknak megfelelő beállításjegyzék-bejegyzéseket. Ha csak a szervezetben vagy gyűjteményben lévő regisztrációs adatbázisokra van szüksége, hagyja üresen ezt a műveletet. A rendszer automatikusan használja a build hitelesítő adatait.
Feladatvezérlési lehetőségek
Minden feladathoz tartoznak vezérlési lehetőségek is a feladat bemenetei mellett. További információ: Vezérlők és gyakori feladattulajdonságok.
Kimeneti változók
Nincs.
Megjegyzések
Ezzel a feladatával npm hitelesítő adatokat adhat meg egy .npmrc-fájlnak az adattárban a build hatóköréhez. Ez lehetővé teszi npm, valamint npm feladatfuttatók, például a Gulp és a Grunt számára, hogy privát regisztrációs adatbázisokkal hitelesítsék magukat.
- Hogyan működik ez a feladat?
- Mikor futtassam ezt a feladatot a folyamatban?
- Több npm-projektem van. Le kell futtatnom ezt a feladatot minden .npmrc-fájlhoz?
- Az ügynököm egy webes proxy mögött áll. Beállítja
npmAuthenticatenpm/gulp/Grunta proxym használatára? - Saját folyamatnak egy másik projektben lévő hírcsatornához kell hozzáférnie,
Hogyan működik ez a feladat?
Ez a feladat megkeresi a megadott .npmrc fájlban a beállításjegyzék bejegyzéseit, majd hozzáfűzi a felderített adatbázisok hitelesítési adatait a fájl végéhez. Az aktuális szervezet/gyűjtemény összes regisztrációs adatbázisa esetében a rendszer a build hitelesítő adatait használja. Egy másik szervezet vagy egy harmadik fél által üzemeltetett regisztrációs adatbázisok esetében a beállításjegyzék URI-jait a rendszer összehasonlítja az bemenet által megadott customEndpoint npm szolgáltatáskapcsolatok URI-jaival, és a megfelelő hitelesítő adatokat fogja használni. A .npmrc fájl a folyamat végrehajtásának végén visszaáll az eredeti állapotára.
Mikor futtassam ezt a feladatot a folyamatban?
Ennek a feladatnak futnia kell, mielőtt npmvagy npm feladatfuttatót használna a csomagok hitelesített npm-adattárba, például az Azure Artifactsbe való telepítéséhez vagy leküldéséhez. Nincsenek más rendezési követelmények.
Több npm-projektem van. Le kell futtatnom ezt a feladatot minden .npmrc-fájlhoz?
Ez a feladat egyszerre csak egy .npmrc fájlhoz ad hozzá hitelesítési adatokat. Ha több .npmrc fájl hitelesítésére van szüksége, a feladatot többször is futtathatja, minden .npmrc fájlhoz egyszer. Másik lehetőségként érdemes lehet létrehozni egy .npmrc fájlt, amely meghatározza a projektek által használt összes adatbázist, npmAuthenticate futtat ezen a .npmrc fájlon, majd beállít egy környezeti változót, hogy ezt a .npmrc fájlt a felhasználónkénti npm konfigurációs fájlként jelölje ki.
- task: npmAuthenticate@0
inputs:
workingFile: $(Agent.TempDirectory)/.npmrc
- script: echo "##vso[task.setvariable variable=NPM_CONFIG_USERCONFIG]$(Agent.TempDirectory)/.npmrc"
- script: npm ci
workingDirectory: project1
- script: npm ci
workingDirectory: project2
Az ügynököm egy webes proxy mögött áll. Beállítja npmAuthenticatenpm/gulp/Grunt a proxym használatára?
A válasz: nem. Bár ez a feladat egy webes proxy mögött fog működni, az ügynökhasználatára lett konfigurálva, nem konfigurálja npm vagy npm feladatfuttatókat a proxy használatára.
Ehhez a következőkre van lehetőség:
Állítsa be a környezeti változókat
http_proxy/https_proxy, és opcionálisanno_proxya proxybeállításokra. Részletekért lásd npm konfigurációs. Vegye figyelembe, hogy ezek gyakran használt változók, amelyeket más nemnpmeszközök (pl. curl) is használhatnak.Adja hozzá a proxybeállításokat az npm konfigurációsmanuálisan, npm konfigurációkészlethasználatával, vagy környezeti változók beállításával
NPM_CONFIG_előtaggal.Fontos
npmfeladatfuttatók nem feltétlenül kompatibilisek anpmáltal támogatott proxykonfigurációs módszerekkel.Adja meg a proxyt parancssori jelzővel
npmhívásakor.- script: npm ci --https-proxy $(agent.proxyurl)
Ha a proxy hitelesítést igényel, előfordulhat, hogy egy hitelesített proxy URI létrehozásához további buildelési lépést kell hozzáadnia.
- script: node -e "let u = url.parse(`$(agent.proxyurl)`); u.auth = `$(agent.proxyusername):$(agent.proxypassword)`; console.log(`##vso[task.setvariable variable=proxyAuthUri;issecret=true]` + url.format(u))"
- script: npm publish --https-proxy $(proxyAuthUri)
A folyamatnak egy másik projektben lévő hírcsatornához kell hozzáférnie
Ha a folyamat más projektben fut, mint a hírcsatornát üzemeltető projekt, be kell állítania a másik projektet, hogy olvasási/írási hozzáférést biztosítson a buildszolgáltatáshoz. További részletekért tekintse meg csomagengedélyeket az Azure Pipelines.
Példák
-
A projekt
npmcsomagjainak visszaállítása a szervezeten belüli beállításjegyzékből -
npmcsomagok visszaállítása és közzététele a szervezeten kívüli - NPMRC
- npm
A projekt npm csomagjainak visszaállítása a szervezeten belüli beállításjegyzékből
Ha csak az Azure Artifacts-adatbázisokat használja a szervezetében, csak meg kell adnia egy .npmrc fájl elérési útját a npmAuthenticate feladathoz.
.npmrc
registry=https://pkgs.dev.azure.com/{organization}/_packaging/{feed}/npm/registry/
always-auth=true
npm
- task: npmAuthenticate@0
inputs:
workingFile: .npmrc
- script: npm ci
- script: npm publish
npm csomagok visszaállítása és közzététele a szervezeten kívül
Ha a .npmrc egy másik szervezetTől származó Azure Artifacts-adatbázisokat tartalmaz, vagy külső hitelesítésű csomagadattárat használ, be kell állítania npm szolgáltatáskapcsolatokat, és meg kell adnia őket a customEndpoint bemenetben.
A rendszer automatikusan hitelesíti az Azure Artifacts-szervezeten belüli regisztrációs adatbázisokat is.
.npmrc
registry=https://pkgs.dev.azure.com/{organization}/{project}/_packaging/{feed}/npm/registry/
@{scope}:registry=https://pkgs.dev.azure.com/{otherorganization}/_packaging/{feed}/npm/registry/
@{otherscope}:registry=https://{thirdPartyRepository}/npm/registry/
always-auth=true
Az Azure Artifacts-hírcsatornára mutató beállításjegyzék URL-címe tartalmazhatja a projektet, vagy nem. A projekt hatókörébe tartozó hírcsatornák URL-címének tartalmaznia kell a projektet, a szervezeti hatókörű hírcsatornák URL-címe pedig nem tartalmazhatja a projektet. További információ projekthatókörű hírcsatornákról.
npm
- task: npmAuthenticate@0
inputs:
workingFile: .npmrc
customEndpoint: OtherOrganizationNpmConnection, ThirdPartyRepositoryNpmConnection # Name of your service connection
- script: npm ci
- script: npm publish -registry https://pkgs.dev.azure.com/{otherorganization}/_packaging/{feed}/npm/registry/
OtherOrganizationNpmConnection és ThirdPartyRepositoryNpmConnectionnpm-szolgáltatáskapcsolatok nevei,, amelyek konfigurálva vannak és engedélyezve vannak a folyamatban való használatra, valamint a megadott .npmrc fájlban szereplő URL-címek.
Követelmények
| Követelmény | Leírás |
|---|---|
| Folyamattípusok | YAML, klasszikus build, klasszikus kiadás |
| Futtatás bekapcsolva | Ügynök, DeploymentGroup |
| Követelmények | Egyik sem |
| képességek | Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek. |
| parancskorlátozások | Bármely |
| Változók beállítása | Bármely |
| Ügynök verziója | 2.115.0 vagy újabb |
| Tevékenységkategória | Csomag |