Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Derlemenin kapsamı için deponuzdaki bir npm dosyasına .npmrc kimlik bilgileri sağlamak için bu görevi kullanın. Bu, npmyanı sıra gulp ve Grunt gibi npm görev çalıştırıcılarının özel kayıt defterleriyle kimlik doğrulamasına olanak tanır.
Sözdizimi
# 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:
#azureDevOpsServiceConnection: # string. Alias: workloadIdentityServiceConnection. 'Azure DevOps' Service Connection.
#feedUrl: # string. Azure Artifacts URL.
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. Required. .npmrc file to authenticate.
#customEndpoint: # string. Credentials for registries outside this organization/collection.
Girişler
azureDevOpsServiceConnection
-
'Azure DevOps' Servis Bağlantısı
Giriş diğer adı: workloadIdentityServiceConnection.
string.
Eğer bu ayarlanmışsa, feedUrl gereklidir. Dış organizasyonlar/koleksiyon ve özel uç noktalar için Servis Bağlantıları uyumlu değildir.
feedUrl
-
Azure Artifacts URL
string.
Eğer bu ayarlanmışsa, workloadIdentityServiceConnection gereklidir. Uyumlu değil customEndpoint. Feed URL'si kayıt formatında npm olmalıdır: https://pkgs.dev.azure.com/{ORG_NAME}/{PROJECT}/_packaging/{FEED_NAME}/npm/registry/.
kimliğini doğrulamak için .npmrc dosyasını workingFile -
string. Gerekli.
Çalışmak istediğiniz kayıt defterlerini belirten .npmrc dosyasının yolu.
/packages/mypackage.npmrcgibi klasörü değil, dosyayı seçin.
Bu kuruluş/koleksiyondışındaki kayıt defterleri için customEndpoint - Kimlik Bilgileri
string.
Bu kuruluş veya koleksiyon dışındaki kayıt defterleri için npm hizmet bağlantısı adlarının virgülle ayrılmış listesi. Belirtilen .npmrc dosyası, hizmet bağlantılarına karşılık gelen kayıt defteri girdileri 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 npm dosyasına .npmrc kimlik bilgileri sağlamak için bu görevi kullanın. Bu, npmyanı sıra gulp ve Grunt gibi npm görev çalıştırıcılarının özel kayıt defterleriyle kimlik doğrulamasına olanak tanır.
- 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.
npmAuthenticateara sunucumu kullanmak içinnpm/gulp/Gruntayarlayacak mı? - İşlem Hattım'ın farklı bir proje bir akışa erişmesi gerekiyor
Bu görev nasıl çalışır?
Bu görev, belirtilen .npmrc dosyasında 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ş/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şi tarafından belirtilen customEndpoint npm hizmet bağlantılarının URI'leriyle karşılaştırılır ve ilgili kimlik bilgileri kullanılır.
.npmrc dosyası, 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?
Bu görev, npm veya npm görev koşucusu kullanıp paketleri doğrulamalı bir npm deposuna, örneğin Azure Artifacts gibi yüklemek veya göndermek için çalıştırmadan önce çalıştırılmalıdır. Başka sipariş gereksinimleri 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 dosyasına kimlik doğrulama ayrıntıları ekler. Birden çok .npmrc dosyası için kimlik doğrulamasına ihtiyacınız varsa, görevi her .npmrc dosyası için bir kez birden çok kez çalıştırabilirsiniz. Alternatif olarak, projeleriniz tarafından kullanılan tüm kayıt defterlerini belirten bir .npmrc dosyası oluşturmayı, bu npmAuthenticate dosyasında .npmrc çalıştırmayı ve ardından bu .npmrc dosyasını 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.
npmAuthenticate ara sunucumu kullanmak için npm/gulp/Grunt ayarlayacak mı?
Yanıt hayır. Bu görev, aracınız kullanacak şekilde yapılandırılmışbir web ara sunucusunun arkasında çalışacak olsa da, npm veya npm görev çalıştırıcılarını ara sunucuyu kullanacak şekilde yapılandırmaz.
Bunu yapmak için şunları yapabilirsiniz:
Ortam değişkenlerini
http_proxy/https_proxyayarlayın ve isteğe bağlı olarak ara sunucu ayarlarınızano_proxy. Ayrıntılar için bkz. npm yapılandırma. Bunların, diğernpmolmayan araçların (ör. curl) de kullanabilecekleri yaygın olarak kullanılan değişkenler olduğunu unutmayın.ara sunucu ayarlarını npm yapılandırmael ile, npm yapılandırma kümesikullanarak veya ön ekli
NPM_CONFIG_ortam değişkenlerini ayarlayarak ekleyin.Önemli
npmgörev çalıştırıcıları,npmtarafından desteklenen tüm ara sunucu yapılandırması yöntemleriyle uyumlu olmayabilir.npmçağırırken 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 bir 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 detay için Paket izinleri Azure Pipelines sayfasına bakınız.
Örnekler
-
Kuruluşunuzdaki bir kayıt defterinden projeniz için
npmpaketlerini geri yükleme -
npmpaketlerini kuruluşunuzun dışında geri yükleme ve yayımlama - npmrc
- npm
Kuruluşunuzdaki bir kayıt defterinden projeniz için npm paketlerini geri yükleme
Kullandığınız tek kimlik doğrulama kayıtları organizasyonunuzdaki Azure Artifacts kayıtlarsa, sadece npmAuthenticate görevine giden .npmrc dosyasına giden yolu belirtmeniz yeterlidir.
.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 paketlerini kuruluşunuzun dışında geri yükleme ve yayımlama
Eğer .npmrc farklı bir kuruluştan Azure Artifacts kayıt sistemine sahipse veya üçüncü taraf kimlik doğrulamalı paket deposu kullanıyorsa, npm servis bağlantılarını kurup bunları customEndpoint girişinde belirtmeniz gerekir.
Azure Artifacts organizasyonunuzdaki kayıtlar da otomatik olarak kimlik doğrulaması sağlanacaktı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 # Name of your service connection
- 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 dosyasındakilerle eşleşen URL'lere sahiptir.
Gereksinimler
| Gereksinim | Açıklama |
|---|---|
| İşlem hattı türleri | YAML, Klasik derleme, Klasik sürüm |
| Üzerinde çalışır | Aracı, DeploymentGroup |
| Talepleri | Hiç kimse |
| Özellikleri | Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz. |
| Komut kısıtlamaları | Herhangi bir |
| Ayarlanabilir değişkenleri | Herhangi bir |
| Aracı sürümü | 2.115.0 veya üzeri |
| Görev kategorisi | Paket |