Halo semuanya!
Selalu menarik versi produk apa dan bagaimana mengelolanya? Bagaimana cara mengotomatisasi kontrol versi pengembangan? Saya minta kucing.

Nama saya Roman. Saya seorang pengembang di perusahaan Softeq yang sangat menarik, di mana semua orang adalah inspirasi.
Ketika mengembangkan berbagai alat, saya berpikir tentang apakah semua pengembang tahu apa versinya, apa artinya dan bagaimana mengelolanya selama pengembangan. Jadi mari kita lihat apa itu versi.
Versi
Versi - pengembangan dan pengelolaan beberapa rilis produk yang memiliki fungsi umum yang sama, tetapi ditingkatkan, dimodernisasi atau individual.
Singkatnya, versi ini berbicara tentang perubahan produk. Bagaimana versi berbicara tentang perubahan produk?
Mari kita sebut sistem pemesanan karakter untuk menentukan versi produk skema versi.
Berbagai skema versi telah dibuat untuk melacak versi berbagai perangkat lunak.

Versi Semantik
Ada banyak skema versi, tetapi kami dihadapkan dengan
Semantic Versioning setiap hari. Untuk versi Semantik, merupakan karakteristik bahwa nomor versi dan cara pengubahannya menyampaikan makna isi kode sumber dan modifikasi apa yang diterapkan dari satu versi ke versi lainnya.
Mari kita perhatikan bagaimana jumlah versi Semantic terbentuk.

Mari kita bayangkan bahwa kita memiliki proyek dalam pengembangan. Tujuan utama dari proyek ini adalah untuk mengelola pembangunan perpustakaan. Proyek ini memungkinkan Anda memesan bahan untuk membangun gedung, mengontrol tahapan membangun perpustakaan. Saat ini, arsitektur aplikasi telah dirancang, pelaksanaan tugas-tugas dasar telah dilakukan. Saat menguji fungsionalitas memesan bahan untuk membangun gedung perpustakaan, kesalahan terdeteksi,
bug . Perbaikan bug dibuat dan versi
Patch proyek
ditingkatkan .

Pelanggan memiliki gagasan tentang perlunya menerapkan analisis informasi pemasaran dalam proyek. Pengembang layanan analisis data yang dirancang dengan terampil dan cepat, layanan terintegrasi dengan arsitektur saat ini. Fungsionalitas proyek baru telah ditambahkan yang tidak melanggar
kompatibilitas ke belakang . Versi
minor dari proyek telah meningkat.

Proyek telah berhasil dilaksanakan. Setelah beberapa waktu, pelanggan memiliki ide untuk mengembangkan teknologi ini untuk otomasi bisnis. Rencana yang akan datang mencakup layanan yang sama sekali baru: pembentukan tim pembangun, jejaring sosial internal, pertukaran dokumen internal, dan banyak lagi. Pengembang menunjukkan kompetensi yang tinggi, dan setelah beberapa saat arsitektur proyek dirancang untuk menyelesaikan masalah baru dan lama. Arsitektur baru proyek telah membuat perubahan mundur yang tidak kompatibel. Versi
utama proyek telah meningkat.

Gambaran lengkapnya terlihat seperti ini, tetapi Anda jarang menjumpainya. Jadi, kami menyajikan versi produknya. Tetapi bagaimana cara mengelolanya?
Mari kita lihat alat otomatisasi kontrol versi.
Versi
NPM:
https://www.npmjs.com/package/versioningsGitHub:
https://github.com/morozow/versioningsVersi dilakukan menggunakan baris perintah:
versionings --semver=[<semantic-version> | patch | prepatch | minor | preminor | premajor | prerelease | major] --branch=[<version-branch-name> | any-hyphen-case-less-100-characters-string] [--push]
Versi produk saat ini disimpan baik dalam file ./package.json proyek, serta dalam tag Git dan cabang peningkatan. Otomasi memiliki kemampuan untuk berintegrasi dengan berbagai alat pihak ketiga - kontrol versi dilakukan melalui perintah CLI.
Mari kita lihat contoh peningkatan produk.
Tindakan
Draf versi
2.5.3 saat ini sedang dikembangkan. Pengembangan layanan proyek baru sedang berlangsung di cabang
layanan pengguna-crm . Pengembangan layanan selesai, semua perubahan dilakukan, dan keputusan dibuat untuk meningkatkan versi minor:
versionings --semver=minor --branch=user-service --push
Hasil
- Cabang baru: versi / minor / v 2.6.0 - layanan pengguna
- Perubahan versi
./package.json
: 2.5.3 -> 2.6.0 - Komit versi produk baru di cabang versi / minor / v 2.6.0 - layanan-pengguna
- Dorong cabang baru dengan implementasi layanan dan versi produk yang ditingkatkan.
- Membuat Permintaan Tarik untuk cabang versi / minor / v 2.6.0 - layanan-pengguna , yang berisi implementasi layanan dan peningkatan versi produk
Komentar
- Alat Otomasi Berorientasi ke Lingkungan Unix
- Contoh proyek untuk membangun perpustakaan adalah abstrak, untuk pandangan umum tentang versi.
Itu saja :)
Semua suasana hati yang produktif dan hari yang menyenangkan!