Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Artifacts memungkinkan pengembang untuk menerbitkan dan menginstal berbagai jenis paket dari umpan dan registri publik seperti npmjs.com. Untuk mengautentikasi dengan Azure Artifacts, Anda perlu mengonfigurasi file konfigurasi npm Anda.
File ini berisi URL umpan dan kredensial yang digunakan oleh npm, menawarkan opsi untuk menyesuaikan perilaku klien npm Anda, seperti menyiapkan proksi, menentukan lokasi paket default, atau mengonfigurasi umpan paket privat. File .npmrc biasanya terletak di direktori beranda pengguna tetapi juga dapat dibuat di tingkat proyek untuk mengambil alih pengaturan default. Dengan memodifikasi file .npmrc, pengguna dapat mempersonalisasi pengalaman npm mereka untuk memenuhi persyaratan spesifik mereka.
Prasyarat
Organisasi Azure DevOps dan proyek. Buat organisasi atau proyek jika Anda belum melakukannya.
Untuk praktik terbaik, disarankan untuk menggunakan dua file konfigurasi terpisah. Yang pertama digunakan untuk mengautentikasi dengan Azure Artifacts, sementara yang kedua disimpan secara lokal dan menyimpan kredensial Anda.
Untuk menyiapkan file kedua, cukup letakkan di direktori rumah Anda di komputer pengembangan Anda dan sertakan semua kredensial registri Anda. Dengan cara ini, klien npm dapat dengan mudah mengakses kredensial Anda untuk autentikasi, memungkinkan Anda berbagi file konfigurasi sambil menjaga kredensial Anda tetap aman.
Langkah-langkah berikut akan memandu Anda menyiapkan file konfigurasi pertama:
Catatan
vsts-npm-auth tidak didukung di Azure DevOps Server.
Salin cuplikan berikut ke dalam file npmrc tingkat pengguna Anda:
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
Hasilkan token akses pribadi dengan cakupan baca dan tulis kemasan.
Kodekan token akses pribadi anda yang baru dibuat sebagai berikut:
Jalankan perintah berikut di jendela prompt perintah, lalu tempelkan token akses pribadi Anda saat diminta:
Salin cuplikan berikut ke 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
Hasilkan token akses pribadi dengan cakupan baca dan tulis kemasan.
Kodekan token akses pribadi anda yang baru dibuat sebagai berikut:
Jalankan perintah berikut di jendela prompt perintah, lalu tempelkan token akses pribadi Anda saat diminta:
Salin cuplikan berikut ke 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
Hasilkan token akses pribadi dengan cakupan baca dan tulis kemasan.
Kodekan token akses pribadi anda yang baru dibuat sebagai berikut:
Jalankan perintah berikut di jendela prompt perintah, lalu tempelkan token akses pribadi Anda saat diminta:
Ganti kedua nilai [BASE64_ENCODED_PERSONAL_ACCESS_TOKEN] dalam file .npmrc pengguna Anda dengan token akses pribadi Anda dari Langkah 3.
Pilih koleksi Anda, lalu navigasikan ke proyek Anda.
Pilih Artefak, lalu pilih Koneksi untuk disalurkan.
Jendela baru akan muncul. Dari panel navigasi sebelah kiri, pilih npm.
Ikuti instruksi untuk mengonfigurasi file .npmrc proyek dan pengguna Anda.
Tip
Menggunakan beberapa registri dalam file .npmrc didukung dengan cakupan dan sumber hulu.
Autentikasi alur
Untuk mengautentikasi dengan alur Anda, Azure Artifacts merekomendasikan penggunaan tugas autentikasi npm.
Saat menggunakan pelari tugas seperti gulp atau Grunt, penting untuk menyertakan tugas autentikasi npm Anda di awal alur Anda. Tindakan ini memastikan bahwa kredensial Anda disuntikkan ke dalam file .npmrc proyek Anda dan dipertahankan di seluruh eksekusi alur, memungkinkan langkah-langkah berikutnya untuk mengakses kredensial dalam file konfigurasi.
Navigasi ke proyek Anda, pilih Alur, lalu pilih definisi alur Anda.
Pilih Edit untuk mengubah alur Anda.
Pilih + untuk menambahkan tugas baru ke alur Anda.
Navigasi ke proyek Anda, pilih Build Alur>, lalu pilih definisi build Anda.
Pilih Edit untuk mengubah alur build Anda.
Pilih + untuk menambahkan tugas baru ke alur build Anda.
Cari tugas Autentikasi npm, lalu pilih Tambahkan.
Pilih file .npmrc Anda, lalu pilih Simpan &antrean setelah selesai.
- task: npmAuthenticate@0
inputs:
workingFile: .npmrc ## Path to the npmrc file
customEndpoint: #Optional ## Comma-separated list of npm service connection names for registries from external organizations. For registries in your org, leave this blank
Catatan
Agar alur Anda mengakses umpan Anda, pastikan bahwa peran layanan build diatur ke Feed And Upstream Reader (Contributor) di pengaturan umpan Anda.
Catatan
Jika organisasi Anda menggunakan firewall atau server proksi, pastikan Anda mengizinkan URL domain yang sesuai. Lihat Alamat IP dan URL domain yang diizinkan untuk detailnya.
Pecahkan masalah
vsts-npm-auth tidak dikenali
Jika Anda mengalami kesalahan berikut selama eksekusi proyek:
Cmd: 'vsts-npm-auth' is not recognized as an internal or external command, operable program or batch file.
PowerShell: vsts-npm-auth : The term 'vsts-npm-auth' is not recognized as the name of a cmdlet, function, script file, or operable program.
Maka kemungkinan folder modul npm belum ditambahkan ke jalur Anda. Untuk mengatasinya, jalankan ulang penyiapan Node.js dan pastikan untuk memilih Add to PATH opsi .
Atau, Anda dapat menambahkan folder modul npm ke jalur Anda dengan memodifikasi variabel PATH ke %APPDATA%\npm di Command Prompt atau $env:APPDATA\npm di PowerShell.
Tidak dapat mengautentikasi
Jika Anda mengalami kesalahan E401: code E401 npm ERR! Unable to authenticate. Jalankan vsts-npm-auth perintah dengan bendera -F untuk mengotoris ulang.
vsts-npm-auth -config .npmrc -F
Reset vsts-npm-auth
Ikuti langkah-langkah ini untuk mengatur ulang info masuk vsts-npm-auth Anda:
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat: https://aka.ms/ContentUserFeedback.