Layanan Azure DevOps | Azure DevOps Server 2022 | Azure DevOps Server 2020
Azure Artifacts memungkinkan pengembang mengelola paket dari berbagai sumber, termasuk registri publik seperti npmjs.com dan umpan privat. Untuk mengautentikasi dengan Azure Artifacts, Anda perlu mengonfigurasi file konfigurasi .npmrc Anda. File ini menyimpan URL umpan dan kredensial yang digunakan oleh npm, dan memungkinkan Anda untuk menyesuaikan perilaku klien seperti menyiapkan proksi, menentukan lokasi paket default, atau mengonfigurasi akses ke umpan privat. File .npmrc biasanya terletak di direktori beranda pengguna, tetapi juga dapat dibuat di tingkat proyek untuk mengambil alih pengaturan default.
Prasyarat
Sambungkan ke umpan
Azure Artifacts merekomendasikan penggunaan dua file konfigurasi .npmrc terpisah. Seseorang harus disimpan secara lokal untuk menyimpan kredensial Anda, sementara yang lain harus ditambahkan ke direktori proyek Anda bersama package.json Anda untuk menentukan URL umpan Anda. Pendekatan ini memungkinkan Anda berbagi konfigurasi tingkat proyek tanpa mengekspos informasi sensitif.
Untuk menyiapkan file kredensial, buat atau perbarui file .npmrc dan sertakan semua kredensial registri yang diperlukan. Ini memungkinkan klien npm untuk dengan mudah mengakses kredensial Anda untuk autentikasi.
Langkah-langkah berikut memandu Anda menyiapkan file konfigurasi tingkat proyek. Pilih tab yang sesuai dengan lingkungan pengembangan Anda:
Nota
vsts-npm-auth
tidak didukung di Azure DevOps Server.
Masuk ke organisasi Azure DevOps Anda, lalu navigasikan ke proyek Anda.
Pilih Artefak, lalu pilih umpan Anda dari menu dropdown.
Pilih Sambungkan ke Umpan lalu pilih npm dari panel navigasi kiri.
Tambahkan .npmrc ke proyek Anda, di direktori yang sama dengan package.json Anda dan tempelkan cuplikan yang disediakan dari bagian Penyiapan Proyek ke dalam file.
Jalankan perintah berikut untuk menambahkan token Azure Artifacts ke file .npmrc tingkat pengguna Anda. Anda tidak perlu menjalankan ini setiap saat—npm akan mengembalikan kesalahan 401 Tidak Sah saat saatnya untuk merefresh token.
vsts-npm-auth -config .npmrc
Masuk ke organisasi Azure DevOps Anda, lalu navigasikan ke proyek Anda.
Pilih Artefak, lalu pilih umpan Anda dari menu dropdown.
Pilih Sambungkan ke Umpan lalu pilih npm dari panel navigasi kiri.
Tambahkan file .npmrc ke direktori proyek Anda. Ini harus menjadi direktori yang sama tempat file package.json Anda berada.
Tempelkan cuplikan yang disediakan di bagian Penyiapan proyek ke dalam file .npmrc Anda. File Anda akan terlihat mirip dengan yang berikut ini:
registry=https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Menyiapkan kredensial
Salin cuplikan berikut dan tempelkan ke file npmrc pada tingkat pengguna.
umpan cakupan organisasi:
; 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
umpan cakupan Proyek :
; 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
Buat token akses pribadi dengan lingkup baca dan tulis kemasan.
Jalankan perintah berikut di jendela perintah prompt. Saat diminta, tempelkan token akses pribadi (PAT) Anda dan tekan Enter. Skrip akan mengembalikan versi PAT Anda yang dikodekan Base64, salin nilai tersebut untuk digunakan di langkah berikutnya.
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(); })"
Jika Anda menggunakan Linux atau macOS, Anda dapat menjalankan perintah berikut di terminal untuk mengonversi token akses pribadi (PAT) Anda ke string yang dikodekan Base64. Salin nilai yang dihasilkan untuk digunakan di langkah berikutnya.
echo -n "YOUR_PERSONAL_ACCESS-TOKEN" | base64
Ganti placeholder [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] dalam file .npmrc level pengguna Anda dengan token akses pribadi dengan encoding Base64 yang Anda buat di langkah sebelumnya.
Masuk ke koleksi Azure DevOps Anda, lalu navigasikan ke proyek Anda.
Pilih Artefak, pilih umpan Anda dari menu dropdown, lalu pilih Sambungkan ke Umpan.
Pilih npm dari kiri, lalu ikuti langkah-langkah di bagian Penyiapan proyek untuk mengonfigurasi .npmrc Anda. Lakukan autentikasi dengan mengajukan file dan umpan Anda.
Masuk ke koleksi Azure DevOps Anda, lalu navigasikan ke proyek Anda.
Pilih Artefak, lalu pilih umpan Anda dari menu dropdown.
Pilih Sambungkan ke Umpan lalu pilih npm dari panel navigasi kiri.
Tambahkan file .npmrc di direktori proyek Anda, di direktori yang sama dengan file package.json Anda, dan tempelkan cuplikan yang disediakan di bagian Penyiapan proyek ke dalam file .npmrc Anda. File Anda akan terlihat mirip dengan yang berikut ini:
registry=http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Menyiapkan kredensial
Salin cuplikan berikut dan tempelkan ke dalam file .npmrc tingkat pengguna Anda.
umpan cakupan koleksi:
; 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
umpan cakupan Proyek :
; 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
Buat token akses pribadi dengan lingkup baca dan tulis kemasan.
Jalankan perintah berikut di jendela command prompt. Saat diminta, tempelkan token akses pribadi Anda dan tekan Enter. Skrip akan mengembalikan versi PAT Anda yang dikodekan Base64, salin nilai tersebut untuk digunakan di langkah berikutnya.
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(); })"
Gantilah placeholder [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] di file .npmrc level pengguna dengan token akses pribadi yang telah Anda kodekan dalam Base64 yang Anda buat pada langkah sebelumnya.
Masuk ke koleksi Azure DevOps Anda, lalu navigasikan ke proyek Anda.
Pilih Artefak, lalu pilih Sambungkan ke umpan.
Pilih npm dari kiri, lalu ikuti langkah-langkah di bagian Penyiapan proyek untuk mengonfigurasi .npmrc Anda. Ajukan file dan autentikasi dengan umpan Anda.
Masuk ke koleksi Azure DevOps Anda, lalu navigasikan ke proyek Anda.
Pilih Artefak, lalu pilih umpan Anda dari menu dropdown.
Pilih Sambungkan ke Umpan lalu pilih npm dari panel navigasi kiri.
Tambahkan file .npmrc di direktori proyek Anda, di direktori yang sama dengan file package.json Anda, dan tempelkan cuplikan yang disediakan di bagian Penyiapan proyek ke dalam file .npmrc Anda. File Anda akan terlihat mirip dengan yang berikut ini:
registry=http://<SERVER_NAME>/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/
always-auth=true
Menyiapkan kredensial
Salin cuplikan berikut dan tempelkan ke dalam file .npmrc tingkat pengguna Anda.
umpan cakupan koleksi:
; 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
umpan cakupan Proyek :
; 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
Buat token akses pribadi dengan lingkup baca dan tulis kemasan.
Jalankan perintah berikut di jendela prompt perintah. Saat diminta, tempelkan token akses pribadi Anda dan tekan Enter. Skrip akan mengembalikan versi PAT Anda yang dikodekan Base64, salin nilai tersebut untuk digunakan di langkah berikutnya.
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(); })"
Ganti placeholder [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] dalam file .npmrc tingkat pengguna Anda dengan token akses pribadi yang telah dienkodekan dalam format Base64 yang Anda buat di langkah sebelumnya.
Konten terkait