Kami memiliki proyek JS frontend yang menggunakan beberapa paket publik dan pribadi, semuanya mengarah ke repositori NPM. Pipeline build kami saat ini berbasis AWS, dan untuk memperoleh paket pribadi, kami hanya menambahkan file .npmrc dengan token yang sesuai pada waktu build, lalu npm install (atau sebenarnya yarn install) seperti biasa . Ini berfungsi dengan baik, karena pengembang lokal terus menunjuk ke NPM seperti pengaturan stok, dan kunci akses pribadi dikelola baik pada tingkat per pengembang atau pada tingkat pembangunan, dengan berbagai izin.

Dalam mengevaluasi Azure DevOps Pipelines, kami ingin melakukan hal yang sama, tetapi semua instruksi terbaru tampaknya memerlukan pembuatan Azure Artifacts untuk NPM, dan juga menggunakan mirror ini secara lokal untuk pengembangan. Itu sepertinya berlebihan untuk sesuatu yang sudah memiliki pola yang mapan. Mengikuti jalur ini, menjalankan vsts-npm-auth, dll., semua yang diperlukan untuk mengunduh dependensi yang diperlukan, atau dapatkah kita tetap menggunakan pengaturan yang serupa dengan yang kita miliki, menyuntikkan file .npmrc pada waktu pembuatan, dan tetap instal?

1
Joshua 6 Maret 2020, 20:21

1 menjawab

Jawaban Terbaik

Apakah saya harus menggunakan Azure Artefak untuk mengakses paket NPM pribadi?

Kami tidak harus menggunakan Azure Artifacts untuk menyimpan paket pribadi, tetapi ini adalah cara yang disarankan.

Kami dapat menggunakan umpan Azure Artifacts untuk menyimpan paket pribadi dan menggunakan paket tersebut dalam pipa build menggunakan npm tugas. Dan jika kita menyiapkan npmjs.org sebagai sumber upstream, kita dapat menggunakan paket privat dan publik dengan mudah.

Tetapi jika Anda menggunakan repo paket pihak ketiga alih-alih Azure Artifacts untuk menyimpan paket pribadi, tugas otentikasi Npm/Npm memungkinkan kami untuk menggunakan paket dari mereka. Lihat ini:

Jika .npmrc Anda berisi registry Azure Artifacts dari organisasi lain atau menggunakan repositori paket terautentikasi pihak ketiga, Anda harus menyiapkan koneksi layanan npm dan tentukan di input customEndpoint .

0
Lance Li-MSFT 9 Maret 2020, 07:33