npmAuthenticate@0 – npm-hitelesítés (feladatfuttatók számára) v0 feladat
Ezzel a feladatkal hitelesítő adatokat .npmrc
adhat meg npm
az adattárban lévő fájlnak a build hatóköréhez. Ez lehetővé teszi npm
, hogy a , valamint npm
a feladatfuttatók, például a gulp és a Grunt, privát regisztrációs adatbázisokkal végezzenek hitelesítést.
Syntax
# 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.
# 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. .npmrc file to authenticate.
#customEndpoint: # string. Credentials for registries outside this account/collection.
Bevitelek
workingFile
- .npmrc fájl hitelesítéshez
string
. Kötelező.
A használni kívánt regisztrációs adatbázisokat meghatározó fájl elérési útja .npmrc
. Jelölje ki a fájlt, ne a mappát, például /packages/mypackage.npmrc
: .
workingFile
- .npmrc fájl hitelesítéshez
string
.
A használni kívánt regisztrációs adatbázisokat meghatározó fájl elérési útja .npmrc
. Jelölje ki a fájlt, ne a mappát, például /packages/mypackage.npmrc
: .
customEndpoint
- Hitelesítő adatok a szervezeten/gyűjteményen kívüli regisztrációs adatbázisokhoz
string
.
A szervezeten vagy gyűjteményen kívüli regisztrációs adatbázisok npm-szolgáltatáskapcsolatainak vesszővel tagolt listája. A megadott .npmrc
fájlnak tartalmaznia kell a szolgáltatáskapcsolatoknak megfelelő beállításjegyzék-bejegyzéseket. Ha csak a szervezet vagy gyűjtemény regisztrációs adatbázisaira van szüksége, hagyja üresen ezt a mezőt. A rendszer automatikusan használja a build hitelesítő adatait.
customEndpoint
- Hitelesítő adatok a fiókon/gyűjteményen kívüli regisztrációs adatbázisokhoz
string
.
A szervezeten vagy gyűjteményen kívüli regisztrációs adatbázisok npm-szolgáltatáskapcsolatainak vesszővel tagolt listája. A megadott .npmrc
fájlnak tartalmaznia kell a szolgáltatáskapcsolatoknak megfelelő beállításjegyzék-bejegyzéseket. Ha csak a szervezet vagy gyűjtemény regisztrációs adatbázisaira van szüksége, hagyja üresen ezt a mezőt. A rendszer automatikusan használja a build hitelesítő adatait.
Tevékenységvezérlési beállítások
A tevékenységbemeneteken kívül minden tevékenység rendelkezik vezérlési lehetőségekkel. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.
Kimeneti változók
Nincsenek.
Megjegyzések
Ezzel a feladatkal hitelesítő adatokat .npmrc
adhat meg npm
az adattárban lévő fájlnak a build hatóköréhez. Ez lehetővé teszi npm
, hogy a , valamint npm
a feladatfuttatók, például a gulp és a Grunt, privát regisztrációs adatbázisokkal végezzenek hitelesítést.
- Hogyan működik ez a feladat?
- Mikor futtassam ezt a feladatot a folyamatban?
- Több npm-projektem is van. Minden .npmrc fájlhoz futtatni kell ezt a feladatot?
- Az ügynököm egy webproxy mögött van. Be lesz
npmAuthenticate
állítvanpm/gulp/Grunt
a proxy használatára? - A 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 regisztrációs 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-jai a bemenet által customEndpoint
megadott npm-szolgáltatáskapcsolatok URI-jaival lesznek összehasonlítva, és a rendszer 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 a vagy egy npm
feladatfuttató használatával npm
telepítené vagy leküldené a csomagokat egy hitelesített npm-adattárba, például az Azure Artifactsbe. Nincsenek más rendezési követelmények.
Több npm-projektem is van. Minden .npmrc fájlhoz futtatni kell ezt a feladatot?
Ez a feladat egyszerre csak egy .npmrc
fájlhoz adja hozzá a 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, és fut npmAuthenticate
ezen a .npmrc
fájlon, majd beállít egy környezeti változót, hogy ezt .npmrc
a 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 webproxy mögött van. Be lesz npmAuthenticate
állítva npm/gulp/Grunt
a proxy használatára?
A válasz: nem. Bár maga a feladat egy olyan webproxy mögött fog működni, amelyet az ügynöke konfigurált, nem konfiguráljanpm
vagy npm
a feladatfuttatókat a proxy használatára.
Ehhez a következőket teheti:
Állítsa be a környezeti változókat
http_proxy
/https_proxy
, és igény szerintno_proxy
a proxybeállításokat. Részletekért lásd: npm-konfiguráció . Vegye figyelembe, hogy ezek gyakran használt változók, amelyeket más nemnpm
eszközök (pl. curl) is használhatnak.Adja hozzá a proxybeállításokat az npm-konfigurációhoz manuálisan, az npm konfigurációkészletének használatával, vagy az előtaggal ellátott környezeti változók beállításával
NPM_CONFIG_
.Figyelem:
npm
előfordulhat, hogy a feladatfuttatók nem kompatibilisek a által támogatott proxykonfiguráció összes metódusávalnpm
.A meghívásakor
npm
adja meg a proxyt parancssori jelzővel.- script: npm ci --https-proxy $(agent.proxyurl)
Ha a proxy hitelesítést igényel, előfordulhat, hogy hozzá kell adnia egy további buildelési lépést egy hitelesített proxy URI létrehozásához.
- 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 lásd : Csomagengedélyek az Azure Pipelinesban .
Példák
- Csomagok visszaállítása
npm
a projekthez a szervezeten belüli beállításjegyzékből - Csomagok visszaállítása és közzététele
npm
a szervezeten kívül - npmrc
- npm
Csomagok visszaállítása npm
a projekthez a szervezeten belüli beállításjegyzékből
Ha csak az Azure Artifacts regisztrációs adatbázisait használja a szervezetében, csak a feladat fájljának .npmrc
npmAuthenticate
elérési útját kell megadnia.
.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
Csomagok visszaállítása és közzététele npm
a szervezeten kívül
Ha az Ön .npmrc
egy másik szervezettől származó Azure Artifacts-adatbázisokat tartalmaz, vagy külső hitelesített csomagtárat használ, be kell állítania az npm-szolgáltatáskapcsolatokat , és meg kell adnia őket a customEndpoint
bemenetben.
Az Azure Artifacts-szervezeten belüli regisztrációs adatbázisok szintén automatikusan hitelesítve lesznek.
.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ó regisztrációs adatbázis URL-címe tartalmazhatja vagy nem tartalmazza a projektet. A projektre vonatkozó hírcsatornák URL-címének tartalmaznia kell a projektet, és a szervezet hatókörébe tartozó hírcsatorna URL-címe nem tartalmazhatja a projektet. További információ a projekthatókörű hírcsatornákról.
npm
- task: npmAuthenticate@0
inputs:
workingFile: .npmrc
customEndpoint: OtherOrganizationNpmConnection, ThirdPartyRepositoryNpmConnection
- script: npm ci
# ...
- script: npm publish -registry https://pkgs.dev.azure.com/{otherorganization}/_packaging/{feed}/npm/registry/
OtherOrganizationNpmConnection
és ThirdPartyRepositoryNpmConnection
azok az npm-szolgáltatáskapcsolatok nevei , amelyek konfigurálva és engedélyezve vannak a folyamatban való használatra, és amelyek URL-címei megegyeznek a megadott fájlban lévőkkel .npmrc
.
Követelmények
Követelmény | Leírás |
---|---|
Folyamattípusok | YAML, klasszikus build, klasszikus kiadás |
Futtatás: | Ügynök, DeploymentGroup |
Igények | None |
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ármelyik |
Változók beállítása | Bármelyik |
Ügynök verziója | 2.115.0 vagy újabb |
Feladatkategória | Csomag |