Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Azure Artifacts, geliştiricilerin npmjs.com ve özel akışlar gibi genel kayıt defterleri de dahil olmak üzere çeşitli kaynaklardan gelen paketleri yönetmesini sağlar. Azure Artifacts ile kimlik doğrulaması yapmak için .npmrc yapılandırma dosyanızı yapılandırmanız gerekir. Bu dosya npm tarafından kullanılan akış URL'lerini ve kimlik bilgilerini depolar ve proxy'leri ayarlama, varsayılan paket konumlarını tanımlama veya özel akışlara erişimi yapılandırma gibi istemci davranışını özelleştirmenize olanak tanır.
.npmrc dosyası genellikle kullanıcının giriş dizininde bulunur, ancak varsayılan ayarları geçersiz kılmak için proje düzeyinde de oluşturulabilir.
Önkoşullar
Akışa bağlanma
Azure Artifacts iki ayrı .npmrc yapılandırma dosyası kullanılmasını önerir. Kimlik bilgilerinizi depolamak için biri yerel olarak depolanmalı, diğeri ise akış URL'nizi tanımlamak için proje dizininize package.json eklenmelidir. Bu yaklaşım, hassas bilgileri göstermeden proje düzeyinde yapılandırmanızı paylaşmanızı sağlar.
Kimlik bilgileri dosyasını ayarlamak için .npmrc dosyasını oluşturun veya güncelleştirin ve tüm gerekli kayıt defteri kimlik bilgilerini ekleyin. Bu, npm istemcisinin kimlik doğrulaması için kimlik bilgilerinize kolayca erişmesini sağlar.
Aşağıdaki adımlar, proje düzeyi yapılandırma dosyasını ayarlama işleminde size yol gösterir. Geliştirme ortamınıza karşılık gelen sekmeyi seçin:
Not
vsts-npm-auth
, Azure DevOps Server'da desteklenmez.
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
Artefaktlar 'ı seçin ve ardından açılan menüden akışınızı seçin.
Akışa Bağlan'ı ve ardından sol gezinti bölmesinden npm'yi seçin.
Projenizepackage.jsonile aynı dizine bir .npmrc ekleyin ve Proje kurulumu bölümünden sağlanan kod parçacığını dosyaya yapıştırın.
Kullanıcı düzeyi .npmrc dosyanıza eklenen bir Azure Artifacts belirtecini almak için aşağıdaki komutu çalıştırın. Bunu her seferinde çalıştırmanız gerekmez; belirteci yenileme zamanı geldiğinde npm 401 Yetkisiz hatası döndürür.
vsts-npm-auth -config .npmrc
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
Artefaktlar 'ı seçin ve ardından açılan menüden akışınızı seçin.
Akışa Bağlan'ı ve ardından sol gezinti bölmesinden npm'yi seçin.
Projenizin dizinine bir .npmrc dosyası ekleyin. Bu ,package.json dosyanızın bulunduğu dizinle aynı olmalıdır.
Proje kurulumu bölümünde sağlanan kod parçacığını .npmrc dosyanıza yapıştırın. Dosyanız aşağıdakine benzer görünmelidir:
registry=https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Kimlik bilgilerini ayarla
Aşağıdaki kod parçacığını kopyalayın ve kullanıcı düzeyi npmrc dosyanıza yapıştırın.
Kuruluş kapsamlı akış:
; begin auth token
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/:username=[ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Proje kapsamında besleme:
; begin auth token
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
kişisel erişim belirteci oluşturmak için, paketleme ile okuma ve yazma kapsamlarını kullanın.
Komut istemi penceresinde aşağıdaki komutu çalıştırın. İstendiğinde, kişisel erişim belirtecinizi (PAT) yapıştırın ve Enter tuşuna basın. Betik PAT'nizin Base64 kodlu bir sürümünü döndürür ve bu değeri sonraki adımda kullanmak üzere kopyalayın.
node -e "require('readline') .createInterface({input:process.stdin,output:process.stdout,historySize:0}) .question('PAT> ',p => { b64=Buffer.from(p.trim()).toString('base64');console.log(b64);process.exit(); })"
Linux veya macOS kullanıyorsanız, kişisel erişim belirtecinizi (PAT) Base64 kodlu bir dizeye dönüştürmek için terminalinizde aşağıdaki komutu çalıştırabilirsiniz. Sonraki adımda kullanmak üzere sonuç değerini kopyalayın.
echo -n "YOUR_PERSONAL_ACCESS-TOKEN" | base64
Kullanıcı düzeyi .npmrc dosyanızdaki [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] yer tutucularını önceki adımda oluşturduğunuz Base64 kodlu kişisel erişim belirteci ile değiştirin.
Azure DevOps koleksiyonunuzda oturum açın ve projenize gidin.
Yapıtlar'ı seçin, açılır menüden akışınızı seçin ve sonra Akışa Bağlan'ı seçin.
Soldan npm'yi seçin ve ardından .npmrc'nizi yapılandırmak için Proje kurulumu bölümündeki adımları izleyin. Dosyalayın ve akışınızla kimliğinizi doğrulayın.
Azure DevOps koleksiyonunuzda oturum açın ve projenize gidin.
Artefaktlar 'ı seçin ve ardından açılan menüden akışınızı seçin.
Akışa Bağlan'ı ve ardından sol gezinti bölmesinden npm'yi seçin.
Projenizin dizinine, package.json dosyanızla aynı dizine bir .npmrc dosyası ekleyin ve Proje kurulumu bölümünde sağlanan kod parçacığını .npmrc dosyanıza yapıştırın. Dosyanız aşağıdakine benzer görünmelidir:
registry=http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Kimlik bilgilerini ayarla
Aşağıdaki kod parçacığını kopyalayın ve kullanıcı düzeyi .npmrc dosyanıza yapıştırın:
Koleksiyon kapsamalı akış:
; begin auth token
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=DefaultCollection
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:username=DefaultCollection
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Proje kapsamında besleme:
; begin auth token
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
kişisel erişim belirteci oluşturmak için, paketleme ile okuma ve yazma kapsamlarını kullanın.
Komut istemi penceresinde aşağıdaki komutu çalıştırın. İstendiğinde kişisel erişim belirtecinizi yapıştırın ve Enter tuşuna basın. Betik PAT'nizin Base64 kodlu bir sürümünü döndürür ve bu değeri sonraki adımda kullanmak üzere kopyalayın.
node -e "require('readline') .createInterface({input:process.stdin,output:process.stdout,historySize:0}) .question('PAT> ',p => { b64=Buffer.from(p.trim()).toString('base64');console.log(b64);process.exit(); })"
Kullanıcı düzeyi .npmrc dosyanızdaki [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] yer tutucularını önceki adımda oluşturduğunuz Base64 kodlu kişisel erişim belirteci ile değiştirin.
Azure DevOps koleksiyonunuzda oturum açın ve projenize gidin.
Yapıtlar'ıseçin ve ardından akışa bağlan'ıseçin.
Soldan npm'yi seçin ve ardından .npmrc'nizi yapılandırmak için Proje kurulumu bölümündeki adımları izleyin. dosyasını seçip akışınızla kimlik doğrulamasına geçin.
Azure DevOps koleksiyonunuzda oturum açın ve projenize gidin.
Artefaktlar 'ı seçin ve ardından açılan menüden akışınızı seçin.
Akışa Bağlan'ı ve ardından sol gezinti bölmesinden npm'yi seçin.
Projenizin dizinine, package.json dosyanızla aynı dizine bir .npmrc dosyası ekleyin ve Proje kurulumu bölümünde sağlanan kod parçacığını .npmrc dosyanıza yapıştırın. Dosyanız aşağıdakine benzer görünmelidir:
registry=http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Kimlik bilgilerini ayarla
Aşağıdaki kod parçacığını kopyalayın ve kullanıcı düzeyi .npmrc dosyanıza yapıştırın:
Koleksiyon kapsamalı akış:
; begin auth token
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=DefaultCollection
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:username=DefaultCollection
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
Proje kapsamında besleme:
; begin auth token
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/:email=npm requires email to be set but doesn't use the value
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:username=[ENTER_ANY_VALUE_BUT_NOT_AN_EMPTY_STRING]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:_password=[BASE64_ENCODED_PERSONAL_ACCESS_TOKEN]
//<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/:email=npm requires email to be set but doesn't use the value
; end auth token
kişisel erişim belirteci oluşturmak için, paketleme ile okuma ve yazma kapsamlarını kullanın.
Komut istemi penceresinde aşağıdaki komutu çalıştırın. İstendiğinde kişisel erişim belirtecinizi yapıştırın ve Enter tuşuna basın. Betik PAT'nizin Base64 kodlu bir sürümünü döndürür ve bu değeri sonraki adımda kullanmak üzere kopyalayın.
node -e "require('readline') .createInterface({input:process.stdin,output:process.stdout,historySize:0}) .question('PAT> ',p => { b64=Buffer.from(p.trim()).toString('base64');console.log(b64);process.exit(); })"
Kullanıcı düzeyi .npmrc dosyanızdaki [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] yer tutucularını önceki adımda oluşturduğunuz Base64 kodlu kişisel erişim belirteci ile değiştirin.
İlgili içerik