Alat Otomasi Kontrol Versi

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.

gambar

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/versionings
GitHub: https://github.com/morozow/versionings

Versi 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


  1. Cabang baru: versi / minor / v 2.6.0 - layanan pengguna
  2. Perubahan versi ./package.json : 2.5.3 -> 2.6.0
  3. Komit versi produk baru di cabang versi / minor / v 2.6.0 - layanan-pengguna
  4. Dorong cabang baru dengan implementasi layanan dan versi produk yang ditingkatkan.
  5. 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!

Source: https://habr.com/ru/post/id433994/


All Articles