Ringkasan

Selesai

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:

  1. Dokumentasikan strategi Anda: Tulis panduan penerapan versi untuk tim Anda.
  2. Adopsi SemVer 2.0: Standarisasi pada Penerapan Versi Semantik.
  3. Mengonfigurasi umpan dan tampilan: Siapkan @Localtampilan , @Prerelease, dan @Release .
  4. Mengotomatiskan penerapan versi: Terapkan pembuatan versi otomatis dalam alur build.
  5. Siapkan alur kerja promosi: Tentukan dan otomatiskan promosi paket.
  6. 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

Sumber daya tambahan

Panduan khusus jenis paket

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.