Apa yang dimaksud dengan Azure Artifacts?

Selesai

Di unit ini, Anda akan mendapatkan gambaran umum singkat tentang bagaimana Anda dapat menggunakan Azure Artifacts untuk membuat dan mengelola paket yang dapat digunakan aplikasi Anda dengan aman.

Mari kita periksa kembali dengan tim saat mereka memutuskan apakah Azure Artifacts adalah cara yang tepat untuk menghosting paket .NET mereka.

Mara: Tampaknya bagi saya bahwa masuk akal bagi kami untuk menghosting paket Model baru di Azure Artifacts. Kita semua sudah menjadi bagian dari organisasi Microsoft Azure DevOps, jadi autentikasi akan lebih mudah daripada mencoba mengaturnya di manajer paket yang berbeda.

Andy: Saya memeriksanya sebelum rapat dan tampaknya mudah bagi saya. Saya setuju dengan Mara.

Amita: Apa itu Azure Artifacts?

Andy: Azure Artifacts adalah repositori di organisasi Azure DevOps tempat Anda dapat mengelola dependensi untuk basis kode Anda. Azure Artifacts dapat menyimpan artefak dan binari Anda. Azure Artifacts menyediakan kontainer, yang disebut umpan, untuk grup dependensi. Pengembang yang memiliki akses ke umpan dapat dengan mudah menggunakan atau menerbitkan paket.

Bagaimana saya membuat paket dan menggunakannya dalam alur?

Tim: Jadi, jika saya memahaminya dengan benar, kode aplikasi sudah menggunakan paket dari NuGet. Kami akan membuat paket kami sendiri dan menyimpannya di Azure Artifacts. Bisakah Anda menggambar potongan-potongan itu dan bagaimana mereka akan bekerja sama? Saya kesusahan membayangkan seluruh proses.

Andy: Tentu saja. Mari kita membahas proses pembuatan paket dan menggunakannya di saluran Azure DevOps kami.

Andy pindah ke papan tulis.

Illustration of a whiteboard diagram showing the steps to create and use a package.

Buat paket

Pertama, kita perlu membuat proyek di Azure Artifacts. Kami dapat melakukannya dari Azure DevOps.

Lalu, kami membuat alur di Azure Pipelines yang tersambung ke repo GitHub untuk paket kode. Kemudian, alur membangun kode, mengemasnya, dan mendorong paket ke Azure Artifacts.

Kami perlu memperbarui aplikasi yang menggunakan paket ini untuk mengarah ke umpan Azure Artifacts yang kami buat.

Setelah itu, kami memperbarui pipa yang membuat aplikasi kami. Pembaruan ini memungkinkan kami menggunakan umpan Azure Artifacts kami untuk menarik dependensi paket baru dan membangun seperti biasa.

Perbarui paket

Tim: Bagaimana jika seseorang memperbarui paket?

Andy: Saat Anda memperbarui paket dengan fitur baru atau perbaikan bug dan menjalankan pengujian untuk memastikannya berfungsi dengan benar, benjolan nomor versi paket. Lalu, terapkan perubahan. Alur paket melihat penerapan dan membuat artefak baru di Azure Artifacts dengan nomor versi baru. Jangan khawatir, paket lama dengan nomor versi yang lebih rendah masih tersedia untuk aplikasi yang bergantung pada versi tersebut. Inilah sebabnya mengapa Anda biasanya tidak membatalkan daftar paket.

Aplikasi kami mungkin ingin menggunakan versi paket yang lebih baru ini. Dalam hal ini, kami memperbarui aplikasi untuk mereferensikan versi yang lebih baru dan menjalankan pengujian secara lokal untuk memastikan versi baru ini berfungsi dengan aplikasi kami. Saat kami puas bahwa semuanya berfungsi, kami mengirimkan perubahan aplikasi ke alur. Itu dibangun dengan versi baru dari ketergantungan paket.

Amita: Ini terdengar seperti rencana yang bagus, dan itu akan membantu tim lain juga. Ini juga akan menjaga kode dari hanyut, seperti yang Anda taruh. Itu akan membantu QA juga.

Sertakan strategi pembuatan versi dalam alur pembuatan Anda

Saat Anda menggunakan alur build, paket memerlukan versi sebelum dapat digunakan dan diuji. Namun, hanya setelah Anda menguji paket, Anda dapat mengetahui kualitasnya. Karena versi paket tidak boleh diubah, menjadi sulit untuk memilih versi tertentu sebelumnya.

Azure Artifacts mengaitkan tingkat kualitas dengan setiap paket dalam umpannya, dan membedakan antara versi prarilis dan rilis. Azure Artifacts menawarkan tampilan berbeda pada daftar paket dan versinya, yang memisahkannya berdasarkan tingkat kualitasnya. Pendekatan ini bekerja dengan baik dengan penerapan versi semantik, yang berguna untuk memprediksi niat versi tertentu. Azure Artifacts juga menggunakan deskriptor untuk mencantumkan metadata tambahan dari umpan Azure Artifacts. Penggunaan umum untuk tampilan adalah berbagi versi paket yang telah diuji, divalidasi, atau disebarkan, tetapi menahan paket masih dalam pengembangan dan belum siap untuk konsumsi publik.

Umpan di Azure Artifacts memiliki tiga tampilan berbeda secara default. Tampilan ini ditambahkan pada saat umpan baru dibuat. Tiga tampilan tersebut adalah:

  • Rilis: @release Tampilan berisi semua paket yang dianggap rilis resmi.
  • Prarilis: @prerelease Tampilan berisi semua paket yang memiliki label di nomor versinya.
  • Lokal: @local Tampilan berisi semua paket rilis dan prarilis dan paket yang diunduh dari sumber hulu.

Anda dapat menggunakan tampilan untuk membantu konsumen umpan paket memfilter antara versi paket yang dirilis dan yang belum dirilis. Pada dasarnya, tampilan memungkinkan konsumen untuk membuat keputusan sadar untuk memilih dari paket yang dirilis, atau memilih untuk melakukan prarilis tingkat kualitas tertentu.

Keamanan paket di Azure Artifacts

Memastikan keamanan paket Anda sama pentingnya dengan memastikan keamanan sisa kode Anda. Salah satu aspek keamanan paket adalah mengamankan akses ke umpan paket (di mana umpan, di Azure Artifacts, adalah tempat Anda menyimpan paket). Mengatur izin pada umpan memungkinkan Anda untuk berbagi paket dengan sebanyak atau sesedikit orang yang diperlukan skenario Anda.

Izin umpan

Umpan memiliki empat tingkat akses: Pemilik, Kontributor, Kolaborator, dan Pembaca. Setiap tingkat akses memiliki serangkaian izin tertentu. Misalnya, Pemilik dapat menambahkan semua jenis identitas—individu, tim, dan grup—ke tingkat akses apa pun. Secara default, Project Collection Build Service adalah Kolaborator dan tim proyek Anda adalah Pembaca.

Konfigurasikan saluran untuk mengakses peringkat keamanan dan lisensi

Ada beberapa alat yang tersedia dari pihak ketiga untuk membantu Anda menilai keamanan dan peringkat lisensi dari paket perangkat lunak yang Anda gunakan.

Beberapa alat ini memindai paket saat disertakan dalam alur build atau CD. Selama proses pembuatan, alat ini memindai paket dan memberikan umpan balik seketika. Selama proses CD, alat menggunakan artefak build dan melakukan pemindaian. Dua contoh alat tersebut adalah Mend Bolt dan Black Duck. Dengan Azure DevOps, Anda menggunakan tugas build untuk memasukkan pemindaian ke dalam alur Anda.