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.npmrc
klasö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.npmrc
klasö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?
- İşlem hattımda ne zaman bu görevi çalıştırmalıyım?
- Birden çok npm projem var. Bu görevi her .npmrc dosyası için çalıştırmam gerekiyor mu?
- Aracım bir web ara sunucusunun arkasında. Ara sunucumu kullanacak şekilde ayarlanacak
npm/gulp/Grunt
mınpmAuthenticate
? - İşlem Hattımın farklı bir projedeki akışa erişmesi gerekiyor
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/Grunt
mınpmAuthenticate
?
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ı olarakno_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ındannpm
desteklenen tüm ara sunucu yapılandırması yöntemleriyle uyumlu olmayabilir.çağrısı
npm
yaparken 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
- Paketleri kuruluşunuzun dışında geri yükleme ve yayımlama
npm
- npmrc
- npm
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 |