Share via


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?

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 npmtelepí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 szerint no_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ával npm.

  • A meghívásakor npmadja 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

Ha csak az Azure Artifacts regisztrációs adatbázisait használja a szervezetében, csak a feladat fájljának .npmrcnpmAuthenticate 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