Ringkasan
Modul ini menjelaskan strategi penerapan versi untuk pengemasan, praktik terbaik untuk penerapan versi, dan alur kerja promosi paket . Anda mempelajari konsep penting untuk mengelola versi paket di seluruh siklus hidup pengembangan perangkat lunak.
Apa yang telah Anda Pelajari
Anda belajar bagaimana mendeskripsikan manfaat dan penggunaan:
Menerapkan strategi penerapan versi
- Kepentingan versi: Kenali mengapa penerapan versi yang tepat sangat penting untuk manajemen dependensi dan stabilitas perangkat lunak.
- Paket yang tidak dapat diubah: Pahami bahwa paket yang diterbitkan tidak dapat diubah; hanya versi baru yang dapat dirilis.
- Jenis versi: Pahami kenaikan versi utama, minor, dan patch serta kapan harus menggunakan masing-masing.
- Penerapan versi khusus paket: Menerapkan penerapan versi untuk berbagai jenis paket (NuGet, npm, Maven, Python, Paket Universal).
Memahami penerapan versi semantik
- Format SemVer 2.0: Terapkan penerapan versi Major.Minor.Patch untuk komunikasi yang konsisten.
- Perubahan mencolok: Gunakan versi utama untuk memberi sinyal perubahan API yang tidak kompatibel.
- Fitur baru: Gunakan versi minor untuk penambahan yang kompatibel ke belakang.
- Perbaikan bug: Gunakan versi pembaruan untuk perbaikan yang kompatibel mundur.
- Label prarilis: Gunakan label (alfa, beta, rc) untuk menunjukkan kualitas prarilis.
- Prioritas versi: Pahami bagaimana versi dibandingkan dan diurutkan.
Menggunakan tampilan Artefak Azure
- Tiga tampilan default: Manfaatkan @Local, @Prerelease, dan @Release tampilan.
- @Local view: Berisi semua paket termasuk yang berasal dari sumber upstream.
- tampilan @Prerelease: Menyaring paket dengan label-label prarilis.
- tampilan @Release: Hanya menampilkan paket siap produksi.
- URI khusus tampilan: Konfigurasikan konsumen paket untuk menggunakan tampilan tertentu.
- Tampilan kustom: Buat tampilan tambahan untuk tingkat kualitas yang lebih halus.
Mempromosikan paket
- Gerbang kualitas: Gunakan promosi untuk memindahkan paket melalui tingkat kualitas.
- Alur kerja promosi: Terapkan @Local → @Prerelease → @Release.
- Promosi otomatis: Gunakan tugas Azure Pipelines untuk mengotomatiskan promosi berdasarkan hasil pengujian.
- Promosi manual: Terapkan gerbang persetujuan manual untuk paket penting.
- Perlindungan retensi: Pahami bahwa paket yang dipromosikan dilindungi dari penghapusan.
- Paket upstream: Mengelola promosi paket upstream yang di-cache.
Mendorong paket dari alur
- Penerbitan otomatis: Konfigurasikan alur build untuk menerbitkan paket secara otomatis ke umpan.
- Pembuatan versi: Terapkan pembuatan nomor versi otomatis di CI/CD.
- Metadata paket: Sertakan metadata komprehensif dalam paket.
- Penandaan sumber: Beri tag kode sumber dengan versi paket untuk keterlacakan.
Menerapkan praktik terbaik
- Strategi terdokumen: Pertahankan dokumentasi strategi penerapan versi tertulis.
- Adopsi SemVer: Standardisasi pada Semantic Versioning 2.0.
- Umpan tunggal per repositori: Konfigurasikan setiap repositori untuk mereferensikan hanya satu umpan.
- Penerbitan otomatis: Terbitkan paket secara otomatis saat pembuatan.
- Uji sebelum mempromosikan: Selalu uji paket sebelum mempromosikan ke tampilan yang lebih tinggi.
- Perataan tim: Integrasikan penerapan versi ke dalam Definisi Selesai.
Ringkasan konsep utama
Kekekalan versi
- Jangan pernah mengubah versi yang diterbitkan: Paket yang diterbitkan tidak dapat diubah.
- Selalu buat versi baru: Setiap perubahan memerlukan nomor versi baru.
- Kepercayaan dan keandalan: Konsumen percaya bahwa versi tidak berubah.
Prinsip penerapan versi semantik
- Mayor.Minor.Patch: Nomor versi tiga bagian.
- Komunikasi yang jelas: Nomor versi menunjukkan cakupan perubahan.
- Kompatibilitas mundur: Pembaruan versi minor dan patch menjaga kompatibilitas.
- Label prarilis: Menunjukkan tingkat kualitas dengan label.
Tampilan Azure Artifacts
- Indikator kualitas: Menampilkan paket terpisah menurut tingkat kualitas.
- Alur kerja promosi: Promosi eksplisit memindahkan paket melalui tampilan.
- Pilihan konsumen: Konsumen memilih tampilan berdasarkan toleransi risiko.
- Perlindungan retensi: Paket yang dipromosikan dilindungi dari penghapusan.
Manfaat automasi
- Konsistensi: Proses otomatis mengurangi kesalahan manusia.
- Kecepatan: Siklus rilis yang lebih cepat dengan otomatisasi.
- Gerbang kualitas: Pengujian otomatis sebelum promosi.
- Jejak: Setiap build menghasilkan artefak yang dapat dilacak.
Langkah selanjutnya
Lanjutkan pembelajaran
Tingkatkan keterampilan pengelolaan versi Anda:
- Alur kerja promosi tingkat lanjut: Menerapkan promosi multi-tahap dengan gerbang persetujuan.
- Manajemen rentang versi: Memahami rentang dan batasan versi dependensi.
- Strategi percabangan: Sejajarkan penerapan versi dengan strategi percabangan (Gitflow, berbasis batang).
- Penerapan versi perbaikan: Tangani perbaikan dan backport dengan benar.
Jelajahi skenario tingkat lanjut:
- Versioning monorepo: Memversi paket dalam repositori monorepo.
- Melanggar manajemen perubahan: Strategi untuk menghentikan dan menghapus fitur.
- Penyematan versi: Mengendalikan adopsi versi baru oleh pengguna.
- Otomatisasi changelog: Hasilkan changelog secara otomatis dari commit.
Aplikasi praktis
Mulai terapkan:
- Dokumentasikan strategi Anda: Tulis panduan penerapan versi untuk tim Anda.
- Adopsi SemVer 2.0: Standarisasi pada Penerapan Versi Semantik.
- Mengonfigurasi umpan dan tampilan: Siapkan @Localtampilan , @Prerelease, dan @Release .
- Mengotomatiskan penerapan versi: Terapkan pembuatan versi otomatis dalam alur build.
- Siapkan alur kerja promosi: Tentukan dan otomatiskan promosi paket.
- Latih tim Anda: Pastikan semua orang memahami dan mengikuti strategi penerapan versi.
Integrasi dengan praktik DevOps
Penerapan versi dalam alur kerja DevOps:
- Integrasi Berkelanjutan: Mengotomatiskan pembuatan dan penerbitan paket.
- Pengiriman Berkelanjutan: Gunakan alur kerja promosi untuk rilis terkontrol.
- Infrastruktur sebagai Kode: Versi paket infrastruktur seiring dengan paket aplikasi.
- Bendera fitur: Gabungkan penerapan versi dengan bendera fitur untuk peluncuran bertahap.
Pelajari lebih lanjut
Dokumentasi resmi
- Konsep kunci untuk Azure Artifacts - Panduan komprehensif untuk konsep Azure Artifacts, termasuk tidak berubahnya paket.
- Menerbitkan dan mengunduh paket universal - Azure Artifacts | Microsoft Learn - Panduan mulai cepat untuk Paket Universal di Azure Artifacts.
- Mulai menggunakan paket NuGet - Azure Artifacts | Microsoft Learn - Panduan lengkap untuk manajemen paket NuGet di Azure Artifacts.
Sumber daya tambahan
- Semantic Versioning 2.0.0 - Spesifikasi Penerapan Versi Semantik Resmi.
- Tampilan Azure Artifacts - Penjelasan terperinci tentang tampilan umpan dan promosi.
- Praktik terbaik untuk menggunakan Artefak Azure - Praktik terbaik komprehensif untuk Artefak Azure.
- Penerapan versi paket di Azure Pipelines - Panduan untuk membuat versi paket dalam alur CI/CD.
- Tampilan umpan untuk promosi paket - Cara mengkomunikasikan kualitas paket dengan tampilan.
Panduan khusus jenis paket
- Penerapan versi paket NuGet - Panduan penerapan versi khusus NuGet.
- penerapan versi semantik npm - npm dan Penerapan Versi Semantik.
- Penerapan versi Maven - Penerapan versi proyek Maven.
- Penentu versi pengemasan Python - penentu versi pada PEP 440.
Alat dan otomatisasi
- GitVersion - Penerapan versi otomatis dari riwayat Git.
- semantic-release - Manajemen versi dan penerbitan paket yang sepenuhnya otomatis.
- Azure DevOps CLI - Alat baris perintah untuk otomatisasi Azure Artifacts.
Komunitas dan dukungan
- Dokumentasi Azure DevOps: Jelajahi panduan dan tutorial komprehensif.
- Tanya Jawab Microsoft: Ajukan pertanyaan dan dapatkan jawaban dari komunitas.
- Blog Azure DevOps: Tetap diperbarui dengan fitur terbaru dan praktik terbaik.
- Sampel GitHub: Jelajahi contoh alur dan konfigurasi.