Aracılığıyla paylaş


npmAuthenticate@0 - npm authenticate (görev çalıştırıcıları için) v0 görevi

Derlemenin kapsamı için deponuzdaki bir .npmrc dosyaya kimlik bilgileri sağlamak npm için bu görevi kullanın. Bu, gulp ve Grunt gibi görev çalıştırıcılarının yanı sıra npm özel kayıt defterleriyle kimlik doğrulamasına olanak tanırnpm.

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.

Girişler

workingFile - Kimlik doğrulaması için .npmrc dosyası
string. Gereklidir.

Çalışmak istediğiniz kayıt defterlerini belirten dosyanın yolu .npmrc . gibi /packages/mypackage.npmrcklasörü değil, dosyasını seçin.


workingFile - Kimlik doğrulaması için .npmrc dosyası
string.

Çalışmak istediğiniz kayıt defterlerini belirten dosyanın yolu .npmrc . gibi /packages/mypackage.npmrcklasörü değil, dosyasını seçin.


customEndpoint - Bu kuruluş/koleksiyon dışındaki kayıt defterleri için kimlik bilgileri
string.

Bu kuruluş veya koleksiyon dışındaki kayıt defterleri için npm hizmet bağlantı adlarının virgülle ayrılmış listesi. Belirtilen .npmrc dosya, hizmet bağlantılarına karşılık gelen kayıt defteri girdilerini içermelidir. Yalnızca bu kuruluşta veya koleksiyonda kayıt defterlerine ihtiyacınız varsa, bunu boş bırakın. Derlemenin kimlik bilgileri otomatik olarak kullanılır.


customEndpoint - Bu hesap/koleksiyon dışındaki kayıt defterleri için kimlik bilgileri
string.

Bu kuruluş veya koleksiyon dışındaki kayıt defterleri için npm hizmet bağlantı adlarının virgülle ayrılmış listesi. Belirtilen .npmrc dosya, hizmet bağlantılarına karşılık gelen kayıt defteri girdilerini içermelidir. Yalnızca bu kuruluşta veya koleksiyonda kayıt defterlerine ihtiyacınız varsa, bunu boş bırakın. Derlemenin kimlik bilgileri otomatik olarak kullanılır.


Görev denetimi seçenekleri

Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz . Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Yok.

Açıklamalar

Derlemenin kapsamı için deponuzdaki bir .npmrc dosyaya kimlik bilgileri sağlamak npm için bu görevi kullanın. Bu, gulp ve Grunt gibi görev çalıştırıcılarının yanı sıra npm özel kayıt defterleriyle kimlik doğrulamasına olanak tanırnpm.

Bu görev nasıl çalışır?

Bu görev, belirtilen .npmrc dosyada kayıt defteri girdilerini arar ve sonra bulunan kayıt defterleri için kimlik doğrulama ayrıntılarını dosyanın sonuna ekler. Geçerli kuruluştaki/koleksiyondaki tüm kayıt defterleri için derlemenin kimlik bilgileri kullanılır. Farklı bir kuruluştaki veya üçüncü taraf tarafından barındırılan kayıt defterleri için kayıt defteri URI'leri, giriş tarafından belirtilen npm hizmet bağlantılarınıncustomEndpoint URI'leriyle karşılaştırılır ve ilgili kimlik bilgileri kullanılır. Dosya, .npmrc işlem hattı yürütmesinin sonunda özgün durumuna geri döndürülür.

İşlem hattımda ne zaman bu görevi çalıştırmalıyım?

Azure Artifacts gibi kimliği doğrulanmış bir npm deposuna paket yüklemek veya göndermek için, bu görevin , veya bir npm görev çalıştırıcısı kullanmadan npmönce çalışması gerekir. Başka sıralama gereksinimi yoktur.

Birden çok npm projem var. Bu görevi her .npmrc dosyası için çalıştırmam gerekiyor mu?

Bu görev aynı anda yalnızca bir .npmrc dosyaya kimlik doğrulama ayrıntıları ekler. Birden çok .npmrc dosya için kimlik doğrulamasına ihtiyacınız varsa, görevi her .npmrc dosya için bir kez birden çok kez çalıştırabilirsiniz. Alternatif olarak, projeleriniz tarafından kullanılan tüm kayıt defterlerini belirten, bu dosya üzerinde çalışan npmAuthenticate bir .npmrc dosya oluşturmayı ve ardından bu .npmrc.npmrc dosyayı npm kullanıcı başına yapılandırma dosyası olarak belirleyecek bir ortam değişkeni ayarlamayı göz önünde bulundurun.

- 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

Aracım bir web ara sunucusunun arkasında. Ara sunucumu kullanacak şekilde ayarlanacak npm/gulp/GruntnpmAuthenticate?

Yanıt hayır. Bu görev, aracınızın kullanmak üzere yapılandırıldığı bir web proxy'sinin arkasında çalışsa da, ara sunucuyu kullanacak şekilde yapılandırmaz veya npm görev çalıştırıcılarını yapılandırmaznpm.

Bunu yapmak için şunları yapabilirsiniz:

  • Ortam değişkenlerini http_proxy/https_proxy ve isteğe bağlı olarak no_proxy ara sunucu ayarlarınızı ayarlayın. Ayrıntılar için bkz. npm yapılandırması . Bunların yaygın olarak kullanılan ve diğernpm olmayan araçların (ör. curl) de kullanabileceği değişkenler olduğunu unutmayın.

  • Ara sunucu ayarlarını npm yapılandırmasına el ile, npm yapılandırma kümesini kullanarak veya ön ekli NPM_CONFIG_ortam değişkenlerini ayarlayarak ekleyin.

    Dikkat:
    npm görev çalıştırıcıları tarafından npmdesteklenen tüm ara sunucu yapılandırması yöntemleriyle uyumlu olmayabilir.

  • çağrısı npmyaparken komut satırı bayrağıyla ara sunucuyu belirtin.

    - script: npm ci --https-proxy $(agent.proxyurl)
    

Ara sunucunuz kimlik doğrulaması gerektiriyorsa, kimliği doğrulanmış bir proxy URI'si oluşturmak için ek bir derleme adımı eklemeniz gerekebilir.

- 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)

İşlem Hattımın farklı bir projedeki akışa erişmesi gerekiyor

İşlem hattı akışı barındıran projeden farklı bir projede çalışıyorsa, derleme hizmetine okuma/yazma erişimi vermek için diğer projeyi ayarlamanız gerekir. Daha fazla ayrıntı için bkz. Azure Pipelines'ta paket izinleri .

Örnekler

Projenizin paketlerini kuruluşunuzdaki bir kayıt defterinden geri yükleme npm

Kullandığınız tek kimliği doğrulanmış kayıt defterleri kuruluşunuzdaki Azure Artifacts kayıt defterleriyse, yalnızca görevin dosyasının npmAuthenticate yolunu .npmrc belirtmeniz gerekir.

.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

Paketleri kuruluşunuzun dışında geri yükleme ve yayımlama npm

Kuruluşunuzda .npmrc farklı bir kuruluşa ait Azure Artifacts kayıt defterleri varsa veya üçüncü taraf kimliği doğrulanmış bir paket deposu kullanıyorsanız , npm hizmet bağlantılarını ayarlamanız ve bunları girişte customEndpoint belirtmeniz gerekir. Azure Artifacts kuruluşunuzdaki kayıt defterleri de otomatik olarak doğrulanır.

.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

Azure Artifacts akışına işaret eden kayıt defteri URL'si projeyi içerebilir veya içermeyebilir. Proje kapsamlı akışın URL'si projeyi içermeli ve kuruluş kapsamlı akışın URL'si projeyi içermemelidir. Proje kapsamlı akışlar hakkında daha fazla bilgi edinin.

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 ve ThirdPartyRepositoryNpmConnection işlem hattınızda kullanılmak üzere yapılandırılmış ve yetkilendirilmiş npm hizmet bağlantılarının adlarıdır ve belirtilen .npmrc dosyadakilerle eşleşen URL'lere sahiptir.

Gereksinimler

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalıştırılır Agent, DeploymentGroup
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü 2.115.0 veya üzeri
Görev kategorisi Paket